Динамический скрипт в IFrame не запускает window.onload

Я динамически создаю IFrame затем добавив script пометьте его кодом, который должен выполняться при загрузке кадра, однако он никогда не выполняется.

$stage.html("<iframe src='javascript:;' id='frame'></iframe>");
$frame = $("#frame");

frame =  $frame[0].contentDocument ? $frame[0].contentDocument :  $frame[0].contentWindow.document;

script= frame.createElement('script'),
head = frame.getElementsByTagName("head")[0];

script.innerHTML = "window.onload = function() { alert('loaded'); }";

head.appendChild(script);

Я предполагаю window onload событие запускается до добавления кода в IFrame, Есть ли способ, чтобы он вызывался? Также это должно содержаться в window.onload как для редактора кода на основе JS, так и iframe должен реагировать так же, как в окне браузера. Приветствия.

1 ответ

Решение

Решено с помощью window.write(),

frame = document.createElement("iframe"); 
frame.src = "javascript:;";
document.body.appendChild(frame);

win = frame.contentWindow;
win.document.open();
win.document.write(html);
win.document.close();
Другие вопросы по тегам