![](/img/trans.png)
[英]How to use keydown event in jquery without affecting all keys?
[英]Tampermonkey in Chrome - How to use jquery without affecting the website at all
使用Google Chrome
Tampermonkey
,我希望能够使用jquery
来set/get
值,但我需要确保没有任何更改/添加到dom
。
简而言之,我希望用户userscript
对受影响的网站绝对不可见。
我添加的 jquery 是否对网站范围不可见?
另一个问题是,如果jquery
已经存在怎么办?
我做对了@grants
吗?
这是我的尝试
// ==UserScript==
// @name test
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match *
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_setClipboard
// @grant unsafeWindow
// @grant window.close
// @grant window.focus
// ==/UserScript==
(function() {
'use strict';
//var $ = unsafeWindow.jQuery;
var $ = window.jQuery;
$(document).ready(Greasemonkey_main);
function Greasemonkey_main ()
{
//$("#elem").val()
}
})();
如果您至少有一个@grant
指令而不是none
,那将激活 Tampermonkey 的沙箱。 这个沙箱将导致@require
d 库将自己分配给沙箱的window
,而不是本机页面的window
,并且在用户脚本代码中引用window
变量将引用用户脚本的沙箱window
而不是页面的原始window
.
如果您有@grant none
,这将指示不使用沙箱,并且@require
将导致将属性分配给原始window
(并且在用户脚本中引用window
将引用原始window
)。
由于您有一个启用沙箱的@grant
并且您正在引用window.jQuery
,它将引用沙箱的 jQuery 版本,而不会对页面做任何事情,因此它应该按需要工作,无论 jQuery 是否已经在本机页面上与否。 (因为你在沙箱中,所以不应该有任何冲突)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.