需要在父窗口的iframe元素中通过简单的javascript触发click事件。
父窗口
<html>
<head>
<meta http-equiv="Content-Language" content="en" />
<title>Main window</title>
</head>
<body>
<iframe scrolling="auto" src="html_test.php"></iframe>
<button onclick='window.open("child.html")'>Open window</button>
</body>
</html>
子窗口
<script type="text/javascript">
window.opener.document.getElementsByTagName('iframe')[0].document.getElementById('main_tab').click();
</script>
但onload子窗口出现此javascript错误:
TypeError: window.opener.document.getElementsByTagName('iframe')[0].document is undefined
并且在文件html_test.php
中,div元素main_tab
在那里是alredy。
html_test.php html是:
<html>
<head>
<title>test iframe</title>
</head>
<body>
<ul>
<li id="main_tab" onclick="alert('test click')"></li>
</ul>
</body>
</html>
答案 0 :(得分:0)
您的辅助页面(加载到iframe
)有问题。它至少需要<meta charset="UTF-8" />
,顶部可能需要DOCTYPE
声明。此外,在我的代码试验中(在FireFox中)我遇到window.opener
时出现问题,需要使用window.parent
。您肯定需要使用contentDocument
而不是document
。对我来说,在做出这些改变后,错误就消失了。
答案 1 :(得分:0)
您在iframe页面中的开启窗口ID,所以只需执行此代码
即可window.opener.document.getElementById('main_tab').click();