例如:
的script.js:
function functionFromScriptJS() {
alert('inside functionFromScriptJS');
}
Iframe.html的:
<html>
<head>
<script language="Javascript" src="script.js"></script>
</head>
<body>
<iframe>
<body>
<script language="JavaScript">
functionFromScriptJS();
</script>
</body>
</iframe>
</body>
<html>
上面对functionFromScriptJS()的调用不起作用。
第一个猜测parent.functionFromScriptJS()也不起作用。
如果包含不在iframe本身但在父文档中,是否可以从iframe访问此类外部函数?
@Edit:所以我的错误在于我将文档放在iframe标记内,我可以把它放在一个单独的文件中,并通过标记的src attrubute指定。在这种情况下, parent.functionFromScriptJS()可以正常工作。
答案 0 :(得分:2)
iframe不支持内联内容。您必须使用src属性来引用其他文件。 <iframe>
标记的内部文字将显示给不支持iframe的浏览器。
示例:
<iframe src="someFile.html" width="100%" height="300px">
<p>Your browser does not support iframes.</p>
</iframe>
加载页面后,您应该可以使用parent.functionFromScriptJS();
答案 1 :(得分:0)
我认为这里的最佳解决方案不是使用iframe(虽然没有正式弃用,但它没有出现在XHTML 1.1规范中)并且使用AJAX获取抓取页面并将其加载到{{1 }}
然后javascript函数将正常工作!