编程语言
首页 > 编程语言> > 如何在JavaScript窗口对象打开的窗口中设置某个元素的innerHTML?

如何在JavaScript窗口对象打开的窗口中设置某个元素的innerHTML?

作者:互联网

我有一些简单的JavaScript代码,如下所示:

<script type="text/javascript">
   function openWindow() {
     var mywindow = window.open("file.html");
     mywindow.document.getElementById("foo").innerHTML="Hey you!!";
   }
</script>

使用onclick事件调用此函数.窗口打开很好,但元素的innerHTML不会改变.它是我拥有的文件,因此我知道我没有被任何安全策略阻止,并且id为’foo’的元素肯定存在. (这是一个DIV).我尝试过.innerHTML的其他变体,如.src和.value,但似乎没有任何效果.有没有人有什么建议?

解决方法:

这里的问题是你很可能在该窗口有机会完成加载之前尝试访问新窗口的DOM.

考虑以下:

<script type="text/javascript">
   function openWindow() {
     var mywindow = window.open("file.html");

     // register an onl oad event with the popup window so that we attempt to 
      // modify it's DOM only after it's onl oad event fires.
     mywindow.onload = function() {
         mywindow.document.getElementById("foo").innerHTML="Hey you!!";
     }

   }
</script>

标签:html,javascript,window-open
来源: https://codeday.me/bug/20190726/1538904.html