我想寫一個在Firefox中檢查頁面是否顯示404錯誤的greasemonkey腳本。如果是這樣,腳本應該重新加載頁面。看起來像這樣:如何在404頁面處理被拒絕的權限異常?
// ==UserScript==
// @name 404-reloader
// @namespace None
// @include *
// @version 1
// ==/UserScript==
url = "http://www.example.com";
if (document.getElementById("errorPageContainer"))
location.href = url;
我的問題是,它只有時纔有效。爲了測試它,我關閉了無線適配器並加載了一個頁面。該腳本本身並不是我自己手動啓動的。第一次啓動它時,腳本工作並更改爲example.com,在那裏我找到了另一個未找到的錯誤,因爲適配器仍處於關閉狀態。我再次啓動了腳本,它工作。第三次後,我得到了一個腳本中的異常:
/*
Exception: Permission denied to access property 'document'
@Scratchpad/2:10
*/
我發現當我更改URL時,腳本工作一次。之後我得到這個例外。 當腳本無法使用時,我將它複製到螢火蟲控制檯並運行。它在那裏工作,但仍然沒有在greasemonkey腳本中。
現在我想知道爲什麼greasemonkey的行爲像這樣以及我如何處理異常問題以及Greasemonkey本身不能在404頁面上運行的問題。
我已經搜索了答案,但沒有找到對我的問題有用的東西。
謝謝您的幫助
我試圖將其包含到我的腳本中,然後複製它到底如何寫它,但它不工作:(它仍然不會在開始運行,我仍然獲得權限被拒絕的錯誤。還檢查了我的greasemonkey版本:1.9 – user2527199
那麼我已經在原始文章(特別是'@ include')中刪減了一些元數據,現在它工作嗎?Firefox 22,GM 1.9 –
不,我仍然得到相同的錯誤。我在FF2上運行了一個腳本,但是它沒有工作,在Firefox或GM中有什麼設置需要改變嗎?它是否在瀏覽器中運行?我有FF21, GM1.9。這可能是FF21中的一個錯誤嗎? – user2527199