脚本的可见性包括在IFRAME中

时间:2008-12-04 08:51:30

标签: javascript html iframe include visibility

例如:

的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()可以正常工作。

2 个答案:

答案 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函数将正常工作!