nfmzkvmx
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору В Greasemonkey <4-ой версии на, соответственно ФФ <57-ой, подобный код: Код: // ==UserScript== // @name test // @namespace dev-null // @include http*://forum.ru-board.com/topic.cgi?* // @run-at document-start // @grant none // ==/UserScript== (() => { const node = document.getElementsByTagName && document.getElementsByTagName("body")[0]; console.log(node); })(); | , ожидаемо, возвращает undefined но почему работает: Код: // ==UserScript== // @name test // @namespace dev-null // @include http*://forum.ru-board.com/topic.cgi?* // @run-at document-start // @grant none // ==/UserScript== (async () => { const node = await document.getElementsByTagName && document.getElementsByTagName("body")[0]; console.log(node); })(); | ? Тоже самое с querySelector. На GM > 4 или в Violentmonkey, ни первый, ни второй вариант, вполне ожидаемо, не работают. Где тут собака порылась? Где-то (и где) баг? Ведь ни Element.getElementsByTagName(), ни Element.querySelector() ни коим боком не промисы, почему это вообще работает в легаси версиях GM? |