RPI*_*ter 3 html javascript window.open
我有一些简单的JavaScript代码,如下所示:
<script type="text/javascript">
function openWindow() {
var mywindow = window.open("file.html");
mywindow.document.getElementById("foo").innerHTML="Hey you!!";
}
</script>
Run Code Online (Sandbox Code Playgroud)
使用onclick事件调用此函数.窗口打开很好,但元素的innerHTML不会改变.它是我拥有的文件,因此我知道我没有被任何安全策略阻止,并且id为'foo'的元素肯定存在.(这是一个DIV).我尝试过.innerHTML的其他变体,如.src和.value,但似乎没有任何效果.有没有人有什么建议?
这里的问题是你很可能在该窗口有机会完成加载之前尝试访问新窗口的DOM.
考虑以下:
<script type="text/javascript">
function openWindow() {
var mywindow = window.open("file.html");
// register an onload event with the popup window so that we attempt to
// modify it's DOM only after it's onload event fires.
mywindow.onload = function() {
mywindow.document.getElementById("foo").innerHTML="Hey you!!";
}
}
</script>
Run Code Online (Sandbox Code Playgroud)