MutationObserver не будет вызывать пользовательский скрипт при изменении атрибута - есть идеи? - PullRequest
0 голосов
/ 03 февраля 2019

Хорошо, поэтому у меня есть следующий пользовательский скрипт (tampermonkey):

// ==UserScript==
// @name         Allow only multiples
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  observe and remove multiples
// @author       You
// @match        https://www.bet365.com/*
// @grant        none
// ==/UserScript==

(async function loop() {
     try{
         const betsipframe = window.getBetslipFrame.bind(window)
         const element = betsipframe().bsFrame.getElement().contentDocument.getElementsByClassName("betSlip")[0];

        (new MutationObserver(mutations => console.log(mutations))).observe(element, {attributes: true,
                                                                                      attributeFilter: ["data-restrictedmultiples"]})
         }
    catch(error){console.log(error), setTimeout(loop,89)}
})()

Он в основном зацикливается до тех пор, пока не возникает ошибка (что означает, что страница хоста полностью загружена), а затем создает атрибут наблюдателя.Однако наблюдатель атрибута никогда не выполняется, тем не менее, «изменения с ограничением данных» в изменениях ставок.

Я не знаю, могут ли скрипты страницы иметь некоторые меры против вмешательства.(Я искал MutationObserver внутри них, но не нашел ничего подходящего.)

...