Firefox userChrome.js greasemonkeyスクリプトスレ17

このエントリーをはてなブックマークに追加
203名無しさん@お腹いっぱい。
(特定のURLだった場合読み込まれる前にURLを変更したい)
http://hibari.2ch.net/test/read.cgi/software/1318227033/21

nsIWebProgressListenerの使い方は以下を参照
https://developer.mozilla.org/en/Code_snippets/Progress_Listeners
https://developer.mozilla.org/En/Listening_to_events_on_all_tabs
(記載の通り)前者の方法だと前面タブしか監視できない。後者なら背面タブも可能
但しこれらは自作アドオンやuserChrome.js等を用いて処理する方法の説明

GreasemonkeyやScriptish等で実現したいならnsIWebProgressListenerは使えない
単にDOMContentLoadedよりも早く何かを処理したいなら
メタデータに@run-at document-startを記述するだけで実現可能
http://wiki.greasespot.net/Metadata_Block
サンプルコードは以下

// ==UserScript==
// @name Do something before DOMContentLoaded
// @namespace http://www.google.co.jp/
// @include http://www.google.co.jp/*
// @run-at document-start
// ==/UserScript==
if(document.readyState == "loading"){
  GM_log("Before DOMContentLoaded");
  GM_log(document.body); // null
  window.addEventListener("DOMContentLoaded", function(){
    GM_log("After DOMContentLoaded");
    GM_log(document.body); // [object HTMLBodyElement]
  }, false);
}