2010-04-08 63 views
12

我想爲Firefox上的一個greasemonkey類型的腳本在頁面上的腳本之前運行。 Greasemonkey腳本在頁面上的腳本之後運行,因此不起作用。我需要這個的原因是因爲我想編輯頁面上的一個腳本。具體來說,我想刪除一個強制頁面加載到框架中的腳本,因爲框架中的頁面會中斷F5(按F5會使頁面跳回到首頁,而不是重新加載當前頁面)。另外,我不想通過AJAX代理加載頁面,切換到chrome/opera也不是一個選項。我在想也許Jetpack附加組件可以工作,但它似乎只有與greasemonkey使用的相同的事件,DOMContentLoaded。有任何想法嗎?如何在任何內聯腳本在網頁上運行之前運行用戶腳本?

+0

**如果** Opera是一個選項,那麼您可以簡單地將您的'* .user.js'文件重命名爲'* .js',並且它會在任何內容甚至開始加載之前運行。 – c69 2011-12-18 00:47:31

+0

我知道,但我不使用歌劇作爲我的瀏覽器。由於我對firefox進行了高度個性化的設置,因此切換和仍然擁有我想要的一切方式可能是不可能的。僅爲1個站點安裝和使用其他瀏覽器似乎有點愚蠢。 – Telanor 2011-12-18 03:33:51

回答

6

[編輯2013]使用附加SDK的page-mod模塊,contentScriptWhen = start


年長

: 右鍵,只有更新的Firefox的建立(目前3.7 nighlies,以後可能會被添加到3.6.x的)對內容指定的腳本之前運行自定義腳本的支持。 I wrote a prototype Jetpack-SDK module可以利用新的通知。

它是<腳本src>還是內聯腳本?在前一種情況下,它可以被內容策略阻止(類似於adblock)。

+0

有趣。我會看看我是否可以弄清楚如何讓它起作用。該腳本是一個內聯腳本。 – Telanor 2010-04-10 01:59:03

+0

您可以添加對@Telanor所要求的示例的引用嗎? – 2013-04-05 23:51:03

+0

@jaime:編輯答案以指向page-mod模塊。 – Nickolay 2013-04-06 11:19:42

相關問題