Не проверено, так как я не собираюсь запускать этот сайт час или более, но:
Несколько вещей (от большого до малого):
- Не использовать
@run-at context-menu
для этого см. документ . - Этот селектор кнопок проблематичен и может не вызывать то, что вам нужно.
- Простой вызов
.click()
может не бытьдовольно.Вам может понадобиться больше или разные события для этого ответа . - Вы не сказали, какой браузер вы использовали, но разные браузеры (и версии этих браузеров) по-разному обрабатывают фоновые вкладки.
jshint
больше не относится к Tampermonkey.При необходимости вы будете использовать директивы ESLint.
Итак, попробуйте следующее.Если это не работает, проверьте журналы и настройте способ доставки событий мыши, согласно связанному ответу.:
// ==UserScript==
// @name Rockradio, Don't bug me
// @description Closes the "Are you still there?" dialog box
// @include https://www.rockradio.com/*
// @exclude https://www.rockradio.com/login
// @grant none
// @noframes
// @version 1.1
// ==/UserScript==
/* eslint-disable no-multi-spaces */
'use strict';
setInterval (function () {
const modal = document.getElementById ('modal-region');
if (modal && modal.children.length !== 0) {
console.log ("Model found.");
const closeBtn = modal.querySelector ("button.close");
if (closeBtn) {
closeBtn.click (); // May need dispatch and/or other events.
console.log ('Close button "clicked".');
}
else {
console.log ("Close button not found.");
}
}
}, 1000);