Я загружаю вывод (HTMLDocument) XSLTProcessor :: transformToDocument () в Iframe.
HTML-код корректно отображается, но присутствующие в выводе JavaScript не выполняются / не запускаются (ниже приведенвывод инспектора FF)
<iframe id="output-frame"></iframe>
#document
<html>
<head></head>
<body onload="console.log('hello')">Hello</body>
</html>
Если вместо этого я ссылаюсь на статический html-файл, он работает нормально:
<iframe id="output-frame" src="iframe.html"></iframe>
#document
<html>
<head></head>
<body onload="console.log('hello')">Hello</body>
</html>
Существует ли метод явного запуска внутреннего javascript?
Возможно, проблема связана с техникой , которую я использую для загрузки HTML-документа в Iframe:
var doc = xsltProcessor.transformToDocument(xml);
var frame = document.getElementById("output-frame");
var destDocument = frame.contentDocument;
var srcNode = doc.documentElement;
var newNode = destDocument.importNode(srcNode, true);
destDocument.replaceChild(newNode, destDocument.documentElement);
Мне действительно не нужно использовать Iframe, явсе в порядке, чтобы заменить текущую страницу результатом transformToDocument ().
Я тестирую в FF62.
[обновление] Я нашел Внешний JavaScript не работаетв iFrames? , который выглядит связанным.
Я попытался указать тот же источник источника в iframe (который будет переопределен позже моим выводом преобразования), но это не помогает.
Кто-то знает, какжурнал "Одинаковое происхождение" нарушение / конфликт в FF?