【问题标题】:Frames, scripts, and load order框架、脚本和加载顺序
【发布时间】:2009-03-23 19:04:06
【问题描述】:

如果我有一个包含框架集和一些在 head 标签中定义的 javascript 的文档,例如:

<html>
 <head>
  <script>
     function foo() {}
  </script>   
 </head>
 <frameset>
    <frame src="A.html">
 </frameset>     
</html>

我已经假设框架 (A.html) 在其父框架之前触发其 onLoad 事件处理程序。我几乎肯定这是一个安全的假设。但是,假设 A.html 的脚本上下文可以安全地访问父窗口头部中定义的所有脚本代码是否安全?

我可以做出哪些假设?

【问题讨论】:

    标签: javascript dhtml frames


    【解决方案1】:

    根据this page,您可以安全地访问parent 中的脚本,它是引用框架的父框架集文档的对象。

    从一个小的本地测试来看,父级的 onload 事件似乎没有触发,但它的脚本标签似乎都已被处理之前子框架已加载。

    这些天框架集不受欢迎,因此请确保它是正确的方法。

    【讨论】:

      【解决方案2】:

      框架脚本将能够通过 parent 引用访问其父 JS 空间。 (但前提是这两个文档位于同一主机上 - 它们在您的精简示例中)。

      我不会依赖父级的 onLoadA.html 之后触发,尽管正如 Phil 提到的,脚本将首先处理 - 这是因为内联脚本评估是阻塞操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-16
        • 2018-04-09
        相关资源
        最近更新 更多