トップ «前の日記(2009-12-11) 最新 次の日記(2009-12-22)» 編集

Ussy Diary


2009-12-14

[JavaScript][Greasemonkey][XML]Github に置かれている KeySnail のバージョン番号を知るグリモン

反映後のページ

KeySnail (Japanese) - keysnail - GitHub は日々更新されているのですが AMO の更新が遅く Github で開発、公開されています。(2009/12/15 現在では実験的アドオンに戻され、ほぼ最新のバージョンが公開されています)

せっかくなので Github からより最新をインストールして使いたいのですが、ぱっとページを見てもバージョン番号が分かりません。わざわざ開発版のバージョンを Wiki に更新してもらうわけにもいきません。

ふと install.rdf からバージョンを抜き取ればいいではないかと気づき、これまで E4X を使ったことがないので勉強がてらグリモンでつくってみました。

http://www.pshared.net/pub/greasemonkey/keysnail_version_on_gith.user.js

// ==UserScript==
// @name           KeySnail Version on Github
// @authour        ussy
// @namespace      http://www.pshared.net/
// @include        http://wiki.github.com/mooz/keysnail*
// ==/UserScript==

var h1 = document.getElementsByTagName('h1')[0];
GM_xmlhttpRequest({
  method: 'GET',
  url: 'http://github.com/mooz/keysnail/raw/master/install.rdf',
  onload: function(result) {
    var response = result.responseText;
    response = response.replace(/^<\?xml\s+version\s*=\s*(["'])[^\1]+\1[^?]*\?>/, "");
    var xml = new XML(response);
    var em = new Namespace("http://www.mozilla.org/2004/em-rdf#");
    var version = xml..em::version;
    h1.innerHTML += ' - Version (' + version + ')';
  }
});

作ってみたもののバージョン番号を結局自分で覚えておく必要がありますし、コマンドから叩いて解析したり別の解決方法がいいですね:)

それにしても E4X すごく便利そうです。 もう少しゴリゴリ使ってみたいと思いました。