1

例如:

脚本.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 属性指定。在这种情况下parent.functionFromScriptJS()有效。

4

2 回答 2

2

iframe 不支持内联内容。您必须使用 src 属性来引用不同的文件。标签的内部文本<iframe>将显示给不支持 iframe 的浏览器。

例子:

<iframe src="someFile.html" width="100%" height="300px">
  <p>Your browser does not support iframes.</p>
</iframe>

加载页面后,您应该可以使用parent.functionFromScriptJS();

于 2008-12-04T09:06:54.003 回答
0

我认为最好的解决方案是不使用 iframe(虽然没有正式弃用,但它没有出现在 XHTML 1.1 规范中)并使用 AJAX get 来抓取页面并将其加载到<div>

然后javascript函数将正常工作!

于 2008-12-04T09:17:11.987 回答