【问题标题】:Visibility of script includes in an IFRAME脚本的可见性包含在 IFRAME 中
【发布时间】:2010-09-25 07:01:16
【问题描述】:

例如:

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() 也不行。

当 include 不在 iframe 本身而是在父文档中时,是否可以从 iframe 访问这样的外部函数?

@Edit: 所以我的错误是我将文档放在 iframe 标签内,我应该将它放在一个单独的文件中,并通过标签的 src 属性指定。在这种情况下 parent.functionFromScriptJS() 有效。

【问题讨论】:

    标签: javascript html iframe include visibility


    【解决方案1】:

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

    例子:

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

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

    【讨论】:

    • 感谢您的来信!我将重写示例并尝试一下。
    【解决方案2】:

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

    然后javascript函数将正常工作!

    【讨论】:

    • '并将其加载到'?这个答案似乎包含一个标签,因此不再显示。有人愿意修复吗? ;)
    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 2021-11-24
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多