jQuery.noConflict();对于用户脚本

时间:2013-07-01 06:39:48

标签: javascript jquery userscripts

您好我正在尝试将jQuery添加到我正在创建的Userscript中。

我试过了:

$ = jQuery = window.jQuery;

不起作用$未定义。我的另一个选择是:

$ = unsafeWindow.jQuery;

哪个有效,但我收到此错误:

Unexpected token e

这甚至不是我的代码的一部分,它指向网站上的东西。但是,我注意到我正在创建用户脚本的网站使用它:

jQuery.noConflict();

这是原因吗?而且我无法导入jQuery库,因为我正在尝试为使用XMLHttpRequests(AJAX)的shoutbox制作自定义表达,并且当我加载外部库时它会阻止聊天工作。

我一直试图解决这个问题6个小时,我无处可去。如果没有任何作用,我可能会转向使用DOM = /。

感谢所有帮助,如果您需要我的任何信息,我很乐意与您分享。

1 个答案:

答案 0 :(得分:0)

我只是看了另一个用户脚本,这就是解决方案!

(function wrapper(window, injectNeeded, undefined) {

// Script injection if needed.
if (injectNeeded) {
    var script = document.createElement('script');
    script.textContent = '(' + wrapper + ')(window, false)';
    document.body.appendChild(script);
    document.body.removeChild(script);
    return;
}

var $,
    jQuery;

$ = jQuery = window.jQuery;

 console.log($('a').length + "links on this page.");
})(this.unsafeWindow || window, window.chrome ? true : false);

来源:https://raw.github.com/cletusc/Userscript--Twitch-Chat-Emotes/master/script.user.js#bypass=true