0
동적으로 IFrame
을 생성 한 다음 프레임이로드 될 때 실행해야하는 코드로 script
태그를 추가합니다. 그러나 결코 실행되지 않습니다.IFrame의 동적 스크립트가 window.onload를 트리거하지 않습니다.
$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);
나는 코드가 IFrame
에 추가되기 전에 window onload
이벤트가 트리거됩니다 가정입니다. 어쨌든 그것을 호출 할 수 있습니까? 또한 JS 기반 코드 에디터의 경우와 마찬가지로 window.onload
에 포함되어야하므로 iframe은 브라우저 창 에서처럼 반응해야합니다. 건배.
윈도우가 이미로드되어 있으므로 코드가로드 이벤트를 놓친 것 같습니다. 아직로드되어 있지 않은 경우, getElementsByTagName는 실패합니다. 나는 이것에 대해 잘 모르겠다. 그래서 공식적인 대답을하지 않았다. – qwertymk
좋은 지적. iframe에 코드를 삽입하여'window.onload'에서 실행시킬 수있는 다른 방법이 있습니까? – Louis
어쩌면 .ready? –