Home

sukechan.net

Safari 3.1 の Web インスペクタがすごい

先日リリースされた Safari 3.1 の新機能の 1 つに、「開発」メニューがあります。その中の Web インスペクタがとても便利なので紹介します。

環境設定の「詳細」にある「メニューバーに”開発”メニューを表示」にチェックを入れると、開発メニューが表示されます。以前のバージョンでは隠し機能であった「Debug」メニューになります。

Safari 3.1 開発メニュー

開発メニューから「Web インスペクタを表示」を選択します。HTML や JavaScript のソースを閲覧できます。
要素を選択すると、その要素がページ上でハイライト表示され、非常に分かりやすいです。
Safari 3.1 Web インスペクタ

この Web インスペクタ以外にも Safari 3.1 にはさまざまな機能が追加されています。みなさんもぜひ使ってみてください。

Twitter に Google Maps へのリンクを追加するグリモン

Twitter Google Maps Link

これは何?

Twitter の発言で、L:住所 と表示されているロケーション情報に、Google Maps へのリンクを追加する Greasemonkey です。

使い方

下記リンクからインストールしてください。例によって Greasemonkey が必要です。(Safari の場合は GreaseKit)

インストール後、Twitter の L:住所 という部分が Google Maps へのリンクになります。

twittergooglemapslink.user.js (version 1.0)
Userscripts.org で管理することにしました。
Twitter Google Maps Link – Userscripts.org

その他、技術的なこと

既に同じグリモンがあるかもしれませんが、見つからなかったので作りました。

今回、初めて XPath を使いました。最初 DOM でやろうと思ったんですが、処理が煩雑になるし XPath の方が早いらしいので。以下のリンクを参考にしました。

// ==UserScript==
// @name           Twitter Google Maps Link
// @namespace      http://www.sukechan.net/
// @description    Location is convert into the link to Google Maps.
// @include        http://twitter.com/*
// @version        1.0
// ==/UserScript==

(function() {
  var x = document.evaluate('//*[@class="entry-title entry-content"] | //div[@class="desc"]/descendant::p[1]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  for (var i = 0; i < x.snapshotLength; i++) {
    var idx = x.snapshotItem(i).textContent.indexOf("L:")
    if (idx >= 0) {
      loc = x.snapshotItem(i).textContent.substr(idx + 2).split(/\s+/)[0].replace(/[\n\r\s]/g, "");
      x.snapshotItem(i).innerHTML = x.snapshotItem(i).innerHTML.replace(loc, "" + loc + "");
    }
  }
})();

WordPress 2.2.3 ME から 2.3.3 日本語版に移行

WordPress を 2.2.3 ME から 2.3.3 日本語版にアップデートしました。

アップデート自体初めてですが、意外にあっさり終わりました。
今後のために移行メモを残しておきます。

  1. 事前準備
    • データベースのバックアップ
    • ブログを設置しているディレクトリのバックアップ
    • プラグインの無効化(Deactivate All Plugin ボタン)
  2. アップグレード
    • Wordpress 日本語版サイトから最新バージョンをダウンロードして解凍
    • .htaccess, wp-config.php, wp-content フォルダを残して、それ以外のファイルをサーバから削除
    • 解凍した最新バージョンをアップロード
    • ブラウザで、/wp-admin/upgrade.php にアクセスすると「データベースのアップグレードが必要です」と出てくるので、指示に従う
    • 以上で、アップデート完了。
  3. 事後作業
  4. 今回はいくつかのプラグインでバージョンアップをしてくださいというメッセージが表示されたのでそのままバージョンアップしました。

    また、2.3.x にはマルチバイト文字に関する不具合があるらしいので、その不具合を解消するパッチも入れました。( WP Multibyte Patch | EastCoder;

これで Leopress が使えますね。

(参考サイト)
wordpress 2.3.2 日本語版へのバージョンアップ | ああwordpress

History Flow がヤバい件

History Flow

SafariStand の新機能、History Flow がヤバい。

iTunes の CoverFlow のように Safari の履歴を見ることができます。
これは便利すぎます。

「履歴」→「History Flow」で表示されます。

今までは履歴がタイトルしかないので探すのに苦労しましたが、これがあればページのサムネイルが表示されるのですごく探しやすくなりました。

SafariStand - hetima.com

相手に Follow されてるかどうかを表示するグリモン

Twitter Follower Check

これは何?

Twitter で、指定したユーザに Follow されてるかどうかを表示する Greasemonkey スクリプトです。

以前作ったこれを Greasemonkey にしました。

使い方

下記リンクからインストールしてください。要 Greasemonkey

インストール後、Twitter のユーザページにアクセスすると、「Does follow do you?」というボタンが追加されます。そのボタンをクリックすると、あなたがそのユーザから follow されてるかどうかを表示します。

twitterfollowercheck.user.js (version 1.0)

その他

グリモンは初めて作りました。
Firefox, Safari(GreaseKit) で動くと思います。
コードも晒しておきます。つっこみ大歓迎。

// ==UserScript==
// @name           Twitter Follower Check
// @namespace      http://www.sukechan.net/
// @include        http://twitter.com/*
// @version        1.0
// ==/UserScript==

(function(){
  var num = 1;
  var screenName = location.href.substr(19);

  // Followers Request
  function getFollowers() {
    addElm.disabled = true;
    addElm.value = "Loading...";
    var httpObj = createRequest();
    if (httpObj) {
      httpObj.open("GET", "http://twitter.com/statuses/followers.json?page=" + num, true);
      httpObj.send(null);
      httpObj.onreadystatechange = function() {
        if (httpObj.readyState == 4) {
          if (httpObj.status == 200) {
            var jsonData = eval(httpObj.responseText);
            if (jsonData.length > 0) {
              for (var i = 0; i < jsonData.length; i++) {
                if (screenName == jsonData[i].screen_name) {
                  addElm.value = "You are followed.";
                  return;
                }
              }
              getFollowers(num++);
            } else {
              addElm.value = "You are not followed.";
            }
          } else {
            addElm.value = "error. status: " + httpObj.status;
          }
        }
      }
    }
  }

  // XMLHttpRequest
  function createRequest() {
    var xmlHttp = null;
    if (window.XMLHttpRequest) {
      xmlHttp = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
      try {
        xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
      } catch (e) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    return xmlHttp;
  }

  // add element
  var elm = document.getElementById("follow-control");
  if (elm) {
    var addElm = document.createElement("input");
    addElm.setAttribute("class", "follow-button");
    addElm.setAttribute("type", "button");
    addElm.setAttribute("value", "Does follow do you?");
    addElm.addEventListener("click", function() {getFollowers()}, false);
    addElm.style.width = "150px";
    addElm.style.marginTop = "3px";
    elm.appendChild(addElm);
   }
})();
 Page 10 of 12  « First  ... « 8  9  10  11  12 »

Home

Search
Feeds
Meta
あわせて読みたい
あわせて読みたいブログパーツ
Others...
フィードメーター - sukechan.net
track feed

Return to page top