gpt4 book ai didi

javascript - 脚本可以使用 Greasemonkey 但不适用于 Tampermonkey。是因为 jQuery $.get 吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:03 24 4
gpt4 key购买 nike

我在 Firefox 上为 Greasemonkey 编写了一个脚本,它运行良好,但在 Chrome 上使用 Tampermonkey 没有任何反应。

我知道 Chrome 限制使用 jQuery。

我特别发现这个有趣的帖子:How can I use jQuery in Greasemonkey scripts in Google Chrome?

我尝试了这些解决方案,但仍然无法让我的脚本在 Google Chrome 上运行。我真的看不出我的脚本有什么问题,因为它真的很短。可能是什么问题?

这是我要运行的脚本(我缩短了它但我不得不留下很多,因为我不知道问题出在哪里):

// ==UserScript==
// @name Rainbow DDB
// @namespace Rainbow DDB
// @description Change la couleur du "!" lorsqu'une DDB est en cours.
// @include http://www.jeuxvideo.com/forums/3-*
// @include http://www.jeuxvideo.com/forums/1-*
// @version 1
// ==/UserScript==

dates = document.getElementsByClassName("date");
i=0;

function ddb(j) {
url = dates[j].getElementsByTagName("a")[0].href;
$.get(url, function(data) {
if (data.contains("Signalement déjà fait")) {
document.getElementsByClassName("date")[j].getElementsByTagName("a")[0].getElementsByTagName("img")[0].src = "http://image.noelshack.com/fichiers/2013/17/1367080939-14agd2.png";
}
});
}

while (i<dates.length) {
ddb(i);
i++;
}

唯一可能成为问题的是 $.get,不是吗?

我尝试了不同的解决方案,要求在执行我的脚本之前加载 jQuery,我尝试使用建议的模板,但它肯定不起作用,我不明白为什么。

最佳答案

如果你想使用本网站内嵌的jQuery版本,你需要用unsafeWindow来引用它。换句话说:您需要在用户脚本的开头将 $ 定义为 unsafeWindow.$

固定代码如下:

// ==UserScript==
// @name Rainbow DDB
// @namespace Rainbow DDB
// @description Change la couleur du "!" lorsqu'une DDB est en cours.
// @include http://www.jeuxvideo.com/forums/3-*
// @include http://www.jeuxvideo.com/forums/1-*
// @version 1
// ==/UserScript==


$ = unsafeWindow.$;
dates = document.getElementsByClassName("date");
i=0;

function ddb(j) {
url = dates[j].getElementsByTagName("a")[0].href;
$.get(url, function(data) {
if (data.indexOf("Signalement déjà fait") >= 0) {
document.getElementsByClassName("date")[j].getElementsByTagName("a")[0].getElementsByTagName("img")[0].src = "http://image.noelshack.com/fichiers/2013/17/1367080939-14agd2.png";
}
});
}


while (i<dates.length) {
ddb(i);
i++;
}

关于javascript - 脚本可以使用 Greasemonkey 但不适用于 Tampermonkey。是因为 jQuery $.get 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16256810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com