我在阅读用window.open()
打开的窗口内的文本时遇到一些麻烦我希望你们能帮助我,我需要的是我的父窗口会读取<div>
html值父窗口调用的子窗口,
我有这个代码,但它不起作用
父窗口
<button onclick="buttonset()">Click me</button>
<script>
var myWindow ;
function buttonset () {
myWindow = window.open("pag1.html", "myWindow", "width=200,height=100");
//myWindow.document.write("<div id='hola'>This is 'myWindow'</div>");
alert(myWindow.document.getElementById("result").innerHTML);
myWindow.close();
}
</script>
这是我的子窗口( pag1.html )代码
<body>
<div id="result">1</div>
<div id="msj">Correcto</div>
</body>
当我运行它时说只打开新窗口但它没有显示消息
无法读取null
的属性'innerHTML'
答案 0 :(得分:2)
window.open()
是异步的,您需要等待文档加载。
function buttonset () {
var myWindow = window.open("pag1.html", "myWindow", "width=200,height=100");
myWindow.onload = function() {
alert(myWindow.document.getElementById("result").innerHTML);
myWindow.close();
};
}
答案 1 :(得分:1)
使用已开启load
window
事件
myWindow.onload = function() {
// do stuff
}
答案 2 :(得分:0)
页面仍在加载。因此,您可以在pag1.html
的body标签上附加内联onload函数pag1.html
<body onload='doIt()'>
<div id="result">1</div>
<div id="msj">Correcto</div>
<script>
function doIt() {
alert(document.getElementById("result").innerHTML);
}
</script>
</body>