如何在由 JavaScript 窗口对象打开的窗口中设置某些元素的 innerHTML
How to set the innerHTML of some element in a window opened by a JavaScript window object?
我有一些简单的JavaScript代码,如下所示:
<script type="text/javascript">
function openWindow() {
var mywindow = window.open("file.html");
mywindow.document.getElementById("foo").innerHTML="Hey you!!";
}
</script>
此函数使用 onclick 事件调用。 窗口打开正常,但元素的内部 HTML 不会更改。 这是我拥有的文件,所以我知道我没有被任何安全策略阻止,并且 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>
只是注意...即使您修复了它的时间,如果您在本地机器上而不是在互联网或本地服务器上进行开发,您也可能遇到错误。 我只是浪费了一个小时试图弄清楚为什么它不起作用,然后将相同的代码上传到我的服务器,它工作正常。我使用的是 2 年前在本地运行的代码,但在不同的浏览器中,更改了几行和浏览器,直到在服务器上运行才停止工作。希望这对某人有所帮助。
相关文章:
- 我可以在FullCalendar中设置事件ClickLimit弹出窗口的样式吗
- 为位于路线上的谷歌地图标记(起点和终点)设置一个信息窗口
- 将jquery ui窗口的父元素设置为另一个元素
- window.open没有't在设置setTimeout内工作-弹出窗口被阻止
- 如何获得一个进度元素,它被设置为在窗口调整大小时调整大小
- 在 shopify 上设置JavaScript弹出窗口的样式
- 如何在谷歌地图中设置多个信息窗口,但使用这种特定的JavaScript方法
- 如何为Tide Sdk应用程序窗口设置固定大小
- 弹出窗口设置焦点
- 阻止弹出窗口设置在 JavaScript 中关闭弹出窗口时出错
- 同步窗口.设置超时回调
- 将弹出窗口设置为以jquery为中心
- 如何为新打开的窗口设置ID
- 在最近的浏览器中将整个窗口设置为全屏
- 从弹出窗口设置查询
- 电子-创建后更改窗口设置
- Jquery在弹出窗口设置超时时间
- 退出弹出窗口+设置间隔
- 如何使用Javascript从父窗口设置子pop-op元素的值
- Facebook喜欢弹出窗口设置菜单jquery和css