2014-05-04 19 views
1

更新: OP現在確認由於Greasemonkey被禁用而發生問題。沒有來自我的Greasemonkey腳本的警報或日誌輸出?


我試圖做一個簡單的Greasemonkey腳本,但它似乎並沒有做任何事情,任何有關出現在控制檯。

腳本:

// ==UserScript== 
// @name  test 
// @namespace test 
// @description testing script (jquery) 
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js 
// @include * 
// @version  1 
// @grant  none 
// ==/UserScript== 

$(document).ready(function() { 
alert("hello"); 
GM_log("hello, greasemonkey here");}); 

我已經嘗試過了沒有$(document).ready和jQuery,但它仍然無法正常工作。

+0

該腳本也運行。您看到了警報(除非您告知FF阻止站點發出警報)並且錯誤消息「未定義GM_log」已放入Firefox的錯誤控制檯中。 –

+0

@BrockAdams恩,不適合我..你使用的是什麼版本的FF? – gandalf3

+0

幾乎所有4.0版本的FF。 GM版本1.11-ish和更高版本。三重檢查了兩者的最新版本(FF 28.0 + GM 1.15)。 –

回答

2

隨着@grant none你不能使用任何的Greasemonkey的功能,如GM_logGM_addStyle

失敗的原因是,使用GM_功能需要的沙箱啓用的原因 - @grant none禁用該沙盒允許代碼像在普通頁面上那樣運行。

而不是使用GM_logwhich is deprecated),您應該使用console.log來代替。

注意,當你正在運行的Greasemonkey代碼的錯誤只能到瀏覽器控制檯(或Firebug的,如果你啓用了鍍鉻記錄) - 您可以通過按Ctrl鍵+訪問瀏覽器控制檯+ J on Windows,and Cmd + Opt + J

+0

謝謝,很高興知道。雖然當我將整個腳本(不包括標題當然)設置爲'alert'時,它爲什麼不起作用? – gandalf3

+0

如果他告訴FF阻止該頁面的警報,他需要重置它。 (重新加載頁面,無緩存,或重置'about:config'設置爲默認值(取決於OP的操作)。 –

+0

@BrockAdams我已經在各種網站上測試過它,而不是窺探。我會嘗試在about:config中重置它。 – gandalf3