スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
Firefox上で互換性のないアドオンのインストールボタンを強制的に有効にするブックマークレット
投稿日時 : 2008-04-21 22:53
 新しくなったFirefoxの公式アドオンページではブラウザ本体のバージョンと互換性のないアドオンのインストールボタンが自動で無効になるようになってしまいました。2008/04/21現在、史上最速と言われるFirefox3.0beta5に正式対応したアドオンはまだまだ少ないので、多くのアドオンのインストールボタンが無効になっています。
 しかし動作保証がないだけでインストールすれば使えるアドオンも少なくありません。IEなどのFirefox以外のブラウザでxpiファイルをダウンロードしてFirefoxにD&Dする方法もありますが、面倒なのでFirefox上で無効になったインストールボタンを強制的に有効にするブックマークレットを作りました。
 
実行すると以下のように「このアドオンは古いバージョンのFirefox向けです」と表示され無効になってクリックできないインストールボタンを強制的に有効にします。
demo
 
 ただし、このブックマークレットを使ってもインストール画面に進めるようになるだけで、インストール時の互換性チェックではじかれます。互換性チェックを無効にできるアドオンのNightly Tester Toolsをインストールして「Disable add-on compatibility checking」にチェックを入れた状態で使用して下さい。
 
関連:Firefoxの非互換アドオンを強制インストールする方法  
 
ブックマークレット本体
 
整形済みソース全文
javascript:(function(){
	var d=document.getElementsByTagName('div');
	for(var i=0;i<d.length;i++){
		if(d[i].id.match(/install-([0-9]+)$/))
			removeCompatibilityHint(RegExp.$1);
	}
})();
 
 removeCompatibilityHintという関数にアドオンのIDを抽出して渡してるだけです。はじめは無理矢理xpiファイルのURLを取得してAオブジェクト生成しようとしてたんですが、公式アドオンページのHTMLソースを眺めてたらインストールボタンのリンクをいじってそうなそれっぽいjsファイルを発見。解読してみると、アドオンのリンク書き換え関係の関数がいくつかあって、その中にページロード時にUAその他の条件で無効にしたリンクを再度有効にする専用の関数があったので利用させてもらいました。おかげで楽できた。

 
スポンサーサイト
2008-04-21 22:53 | Bookmarklet | Comment(0) | Trackback(0)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。