19

我正在使用 Chrome 27.0.1453.116 m 并启用了“实验性 Javascript”,但是我无法让 jQuery 在 Tampermonkey 上运行。

我试过了:

// ==UserScript==
// @name       My Fancy New Userscript
// @require    http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
// ==/UserScript==

var $ = unsafeWindow.jQuery;
var jQuery = unsafeWindow.jQuery;

var $ = unsafeWindow.jQuery;但是,我在突出显示unsafeWindowunsafeWindow 在定义之前使用它的行上出现错误。如何解决这个问题?

4

1 回答 1

18

编辑:自 Greasemonkey 2.0 以来,您不(也不能)unsafeWindow.jQuery用于获取主机页面的 jQuery 实例。您只需使用window.jQuery, 和// @grant none(或@grant其他任何非 jQuery 事物所需的特殊 API)。

资料来源: https ://github.com/greasemonkey/greasemonkey/issues/1952
http://www.greasespot.net/2014/06/greasemonkey-20-release.html

Tampermonkey 目前(2015 年 2 月)在默认设置下似乎工作方式类似。(存档于 2015-03-12,来自http://tampermonkey.net/faq.php#Q404


下面的旧答案:

添加指令// @grant unsafeWindow。此外,如果您从宿主窗口对象获取 jQuery 引用,则不需要该 @require行。

于 2013-09-15T23:30:17.380 回答