Greasemonkey выдает «DOMException: операция небезопасна». на document.implementation.createHTMLDocument().open()

ФФ 84.0.2, ГМ 4.10.0

Код можно увидеть на GitLab . Соответствующая часть:

              ...
        const doc = document.implementation.createHTMLDocument('http://www.w3.org/1999/xhtml', 'html');
console.debug("DOC CREATED")
        doc.open() // <-- with GM: DOMException: The operation is insecure.
console.debug("DOC OPENED")
        ...

Вывод консоли:

      ...
DOC CREATED
DOMException: The operation is insecure.

Скрипт работает с Tampermonkey.

1 ответ

Получил решение из ответа на синтаксический анализ DOM в JavaScript :

              ...
        const doc = document.implementation.createHTMLDocument('http://www.w3.org/1999/xhtml', 'html');
        doc.documentElement.innerHTML = page.responseText
        ...

вместо:

              ...
        const doc = document.implementation.createHTMLDocument('http://www.w3.org/1999/xhtml', 'html');
        doc.open()
        doc.write( page.responseText )
        ...
Другие вопросы по тегам