Скрипт работает в Greasemonkey, но в Tampermonkey ничего не происходит?
Приведенный ниже скрипт работает в 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();
1 ответ
Решение
Код вопроса не должен работать ни в одном браузере, и вы должны увидеть сообщения об ошибках в консолях.
Проблемы:
document.getElementById('survey16')
не имеет.hide()
метод. Это функция jQuery.removeSurvey()
должно быть:function removeSurvey (jNode) { jNode.hide (); //-- .hide is a jQuery function. }
- ЗА ИСКЛЮЧЕНИЕМ, существует несоответствие между
waitForKeyElements
позвонить иremoveSurvey
,
В первом вы ищете div с классомsurvey16
, но во втором вы пытаетесь удалить элемент с идентификаторомsurvey16
, Что он? - Как правило, не используйте
@grant none
при использовании@require
это обычно приводит к конфликтам страниц и сбоям. JQuery особенно плохо. - Также,
@grant none
работает немного по-разному в обоих браузерах. Когда используешь@require
, уточнить@grant GM_addStyle
за исключением особых и редких случаев.