Piszę o usercriptie Greasemonkey i chcę, aby określony kod był wykonywany po całkowitym zakończeniu ładowania strony, ponieważ zwraca ona liczbę div, którą chcę wyświetlić.Greasemonkey - poczekaj na załadowanie strony przed wykonaniem technik kodu
Problem polega na tym, że ta strona czasami zajmuje trochę czasu, zanim wszystko się załaduje.
Próbowałem, dokumentów $(function() { });
i $(window).load(function(){ });
owijki. Jednak żadna nie wydaje się działać dla mnie, chociaż mógłbym niewłaściwie je zastosować.
Najlepsze co mogę zrobić, to użyć setTimeout(function() { }, 600);
, który działa, ale nie zawsze jest niezawodny.
Jaką technikę najlepiej zastosować w Greasemonkey, aby zapewnić, że określony kod zostanie wykonany po zakończeniu ładowania strony?
Można użyć '(function init() {var licznik = document.getElementById ('id-of-elementu'); if (licznik) {/ * zrobić coś z elementem licznika * /} else {setTimeout (init, 0);}})(); 'aby nieustannie odpytywać o istnienie elementu. To najbardziej ogólne rozwiązanie. –
kuzyni Greasemonkey, w Tampermonkey Scriptish, wsparcia i więcej [ '@-at' uruchomić] (https://tampermonkey.net/documentation.php#_run_at) wartości, które zawierają' dokumentu idle' i 'menu' kontekstowe, które mogą być użytkowania. Wygląda również na to, że Greasemonkey jest [dodając wsparcie] (https://github.com/greasemonkey/greasemonkey/issues/2109) dla "bezczynności dokumentu", chociaż nie zostało to jeszcze udokumentowane. –