以下脚本适用于Firefox / Greasemonkey,但Chrome / Tampermonkey中没有任何操作。
任何人都可以理解为什么它在Tampermonkey中无效?
// ==UserScript==
// @name Example
// @namespace Example.com
// @description Example.com
// @include https://example.com/*
// @include http://example.com/*
// @version 1
// @grant none
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @require https://greasyfork.org/scripts/5392-waitforkeyelements/code/WaitForKeyElements.js?version=115012
// ==/UserScript==
window.onload = function(){
document.getElementById('close-cookies').click();
};
waitForKeyElements('div.survey16', removeSurvey);
function removeSurvey() {
document.getElementById('survey16').hide();
}
$('.chat-bot').hide();
答案 0 :(得分:2)
问题代码不应在任何一个浏览器中都有效,您应该在控制台中看到错误消息。
问题:
document.getElementById('survey16')
does not have a .hide()
method。这是一个jQuery函数。 removeSurvey()
应该是:
function removeSurvey (jNode) {
jNode.hide (); //-- .hide is a jQuery function.
}
waitForKeyElements
来电与removeSurvey
之间存在不匹配
首先,您要搜索 class survey16
的div,但在第二步中,您尝试删除 id survey16
的元素。这是什么?@grant none
时不要使用@require
,这通常会导致页面冲突和崩溃。 jQuery is especially bad. @grant none
在两种浏览器中的功能略有不同。使用@require
时,请指定@grant GM_addStyle
,但特殊情况除外。