サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
d.hatena.ne.jp/fls
chaika のスレッド表示の負荷をおさえる実験で使っている方法で、元ソースは Mozmill 。 副作用がありそうでまだ試験中だけど、Piro さんが JavaScriptでsleepしたい、を実現する方法(require JavaScript 1.7) で似たようなことをしていたのでメモとして紹介。 function sleep(aWait) { var timer = { timeup: false }; var interval = window.setInterval(function(){ timer.timeup = true; }, aWait); var thread = Cc["@mozilla.org/thread-manager;1"].getService().mainThread; while(!timer.timeup){ thread.processNext
ユーザの皆様には大変ご迷惑をかけ申し訳ありません。 開発終了の理由は仕事が忙しく、Firefox3 のリリースまでに完成させることが難しく、モチベーションが下がってしまったためです。 最終バージョンである 0.5pre2 は、Firefox3RC 以降での動作確認が不十分です。Firefox3 にはけっしてインストールしないようお願いします。
やるきないっす。未対応バージョンを無理やりインストールとか危険なんでやめてね。
AMO での bbs2chreader の公開をやめた。bbs2chreader のような日本語専用拡張機能だとだれもレビューしてくれないようだ。 いまだ 0.4.9 使っている人は公式から 0.9.11 にアップデートしてください。
Firefox3 では OS ごとの見た目が大きく違うようになるらしいので、ひとつの拡張機能に OS 別のテーマを含める方法を調べてみた。 通常の XPI パッケージ ├─chrome.manifest ├─install.rdf └─chrome ├─content │ └─myextension │ └─myextension.xul └─skin └─classic └─myextension └─myextension.css chrome.manifest content myextension chrome/content/myextension/ skin myextension classic/1.0 chrome/skin/classic/myextension/ Bundles レベルでの複数テーマ Bundles の本来は、OS ごとに違う バイナリ XPCOM コン
外部スクリプトの読み込み var Foo = "foo"; var Bar = "bar"; // 外部スクリプト読み込み var source = readFile("d:\\script.js", "UTF-8"); // 外部スクリプト実行 var sandbox = new Components.utils.Sandbox(window); sandbox.__proto__ = window; Components.utils.evalInSandbox(source, sandbox); // 外部スクリプトの実行結果を取得 sandbox.__proto__ = {}; for(let[key, value] in sandbox){ if(key == "Bar") continue; // Bar の上書きを拒否 window[key] = value; } print(
04/26追記: 日付(ISO8601)の形式が間違っていたのを修正。 const Cc = Components.classes; const Ci = Components.interfaces; function WSSEUtils(aUserName, aPassword){ this._init(aUserName, aPassword); } WSSEUtils.prototype = { get userName(){ return this._userName; }, get noce(){ return this._nonce; }, get created(){ return this._created; }, get passwordDigest(){ return this._passwordDigest; }, getWSSEHeader: function(){
Components.utils.import には resource:// プロトコルからしかインポートできないという制限があるが、resource:// には好きなフォルダをエイリアスとして登録できる機能がある。その機能を使ってプロファイルディレクトリにおいた jsm ファイルを読み込んでみるテスト。 プロファイル/mymodules ディレクトリを resource://mymodules/ でアクセスできるようにする var ioService = Components.classes["@mozilla.org/network/io-service;1"] .getService(Components.interfaces.nsIIOService); var dirService = Components.classes["@mozilla.org/file/directory
Firefox3 で新しく提供される拡張機能用ライブラリ FUEL (Firefox User Extension Library) はそろそろ調べておいたほうがいいかも。 301 Moved Permanently fuelIApplication.idl fuelApplication.js 以下よく使いそうな機能 ブラウザ関連 // 開くページの nsIURI を作成 var urlSpec = "http://www.google.com/"; var ioService = Components.classes["@mozilla.org/network/io-service;1"] .getService(Components.interfaces.nsIIOService); var url = ioService.newURI(urlSpec, null, null); /
greasemonkey で使われているテクニック。sandBox グローバルオブジェクトのプロトタイプチェーンに XPCNativeWrapper で包んだ window オブジェクトをセットしている。 var script = "alert('Hello World');" var safeWindow = new XPCNativeWrapper(window); var sandbox = new Components.utils.Sandbox(safeWindow); sandbox.__proto__ = safeWindow; Components.utils.evalInSandbox(script, sandbox);
Firefoxを遅くさせる最大原因はアドオン - 300clp にて bbs2chreader をインストールすると Firefox が遅くなると書かれています。 Firefox を遅くさせる拡張機能には三つのタイプがあります。それは ページを読み込んだ際にページの内容を書き換えるタイプ Greasemonkey 等 ページを読み込んだ際にページの内容を解析するタイプ Firebug 等 ページや画像を読み込む際にリンク先の URL をチェックするタイプ IETab 等 です。bbs2chreader は三番目のタイプに属します。bbs2chreader では、「2ch スレッド URL を bbs2chreader で開く」機能を実現するためにリンク先の URL を 監視しています。上記ページの多重テーブルでは大量の画像を読み込むため、画像を読み込むたびにこの機能が呼び出されるため遅くな
修正 2007/09/17 : コンテキストメニューが表示されなかったのを修正 修正 2007/06/23 : コンテキストメニューが表示されなかったのを修正 修正 2007/06/23 : Youtube の仕様変更に対応した。 Youtube の FLV ファイルをダウンロードする userChrome.js スクリプトを作った。 使い方は、Youtube を開いて、タイトル部分を右クリック。「Download FLV」を選択したらダウンロードが始まります。 ページ上のプレイヤが読み込み中のときは、読み込みが終了した時点でキャッシュからダウンロードします。 youtubeDownloader.uc.js function ucjsYoutubeFlvDownloader(){ this.SKIP_SELECT_PROMPT = true; } ucjsYoutubeFlvDownloa
userChrome.js で Compact Menu をつくってみた。せっかくなので Firefox 2 になって少し暇になった Throbber にがんばってもらうことにした。 throbberMainMenu.uc.js (function(){ const OPEN_MENU_POSITION = 1; // 0=Right 1=Left var mainMenuBar = document.getElementById("main-menubar"); var range = document.createRange(); range.selectNodeContents(mainMenuBar); var mainMenuBarContents = range.extractContents(); var popupSet = document.createElement("
Firefox/Thunderbird Extension Wizard という拡張機能の雛型を作ってくれるサイトを見つけたので試しに簡単な拡張機能を作成してみました。 今回作るのは、Firefox 2 のメニュー「履歴」-「最近閉じたタブ」をツールバーに表示する拡張機能「Tab Recycle Button」です。 雛型作成 ではさっそく、Firefox/Thunderbird Extension Wizard を開き必要事項を入力します。 項目値 Your Nameflyson Extension NameTab Recycle Button Extension Short NametabRecycle Extension IDtabRecycle@flyson Version1.0 Tab Recycle Button の必須事項はこんな感じです。 今回はツールバーアイコンを追加する
ステータスバーにリサイザが無い ウィンドウのサイズを変更するのに端っこのとても小さい領域をドラッグしなければいけないのはとても苦痛です。IE も Firefox もリサイザがあるため、大雑把にドラッグしてもちゃんとリサイズしてくれます。(それ以外はとても良いブラウザなんだけどね)
Firefox 2 が textPath に対応したので 笑い男マークを描いてみた。 laughingman.svg Firefox 2 だと顔の周りでテキストが回転します。
Firefox 2.0 の FeedView 用 XPCOM を使えば、XML として正しくない HTML テキストから、DOMDocument を作れるみたい。 var htmlSource = "<p>foo<p>bar"; var doc = document.implementation.createDocument("", "", null); doc.appendChild(doc.createElement("root")); var unescapeHTML = Components.classes["@mozilla.org/feed-unescapehtml;1"] .getService(Components.interfaces.nsIScriptableUnescapeHTML); var fragment = unescapeHTML.parseFragment
toDataURL([type][, params]) type image/png か image/jpeg デフォルトは、image/png params type の値によって異なる image/png の場合は transparency=none (無透過?) image/jpeg の場合は、quality=n (画質) n は 1-100 で数字が大きいほど高画質でサイズが大きくなる
Firefox1.5 以上をインストールしている環境で、ファイル名を指定して実行から firefox -chrome http://bbs2ch.sourceforge.jp/xul/ddd.xul マウスドラッグで移動 Alt+F4 で終了
no title から抜粋 普通メニューアイテムを追加するなら[テーマ]と[オプション]の間(JavaScript コンソールとかがある場所) 複数のアイテムを追加するならサブメニューに エクステンションの設定をするメニューは作っちゃだめ。(エクステンションマネージャ使え) メニューアイテムは適切な場所に(例えばブックマークを拡張するエクステンションなら[ブックマーク]メニュー以下) メニューにアイコンつけちゃだめ(デフォルトテーマと合わない) よく使う機能なら呼び出すためのツールバーアイコンを作ろう ステータスバーにごちゃごちゃ追加しない(モニタリングが必要なエクステンションのみ) アバウトダイアログなんて標準で用意されてるんだから作らなくてもいいべ 独自のアイコンを作ったらエクステンションマネージャで探しやすくなるよ 名前に "extension" とか "Firefox" とかバージ
Firefox1.1 のエクステンションを作成してゆく。 Firefox のエクステンションの作成には、XUL を利用する。XUL Tutorial (日本語版) これから作成するエクステンションは、最新の機能を使うので Firefox1.0.x では動かない。また、現在 Firefox1.1 はリリースされていないので、Nightly Build 20050629 英語版を利用する。 今回作成するエクステンションは、URL による広告除去エクステンション。
chaika.xrea.jp があまりにもそっけなかったので WordPress にした。拾ってきたテーマなんでデザインが適当です。かもめ関連の日記やリリースノートもあっちに書く予定。
このページを最初にブックマークしてみませんか?
『d.hatena.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く