【问题标题】:Executing Javascript in a frameset在框架集中执行 Javascript
【发布时间】:2010-12-29 08:53:41
【问题描述】:
<frameset name="main">
 <frame src="leftnav.php" name="leftframe"/>
 <frame  src="dashboard.php" name="rightframe" bgcolor="#000000"/>
</frameset>

嘿。我想在右框架中执行一些 JavaScript,然后应该影响左框架。

我想问题是......我需要在我的 javascript 前面加上什么前缀才能在左框架中访问它?

【问题讨论】:

  • 帧不好!我们已经不是 90 年代了
  • 但有时我们需要修复或修改旧的东西而不重写页面。
  • 没错。有时不替换 2000 文件 PHP 应用程序上的模板系统会更便宜...

标签: javascript frames


【解决方案1】:

如果您在右侧框架中的页面中,并且想要访问左侧框架中页面中的元素,您可以使用例如:

var table=parent.leftframe.document.getElementById("information");

【讨论】:

    【解决方案2】:

    您可以:parent.leftframe.var_nameparent.leftframe.function_name()

    【讨论】:

      【解决方案3】:

      在对原始问题(上图)的评论中,@Valentin 提到框架“不好”,但没有进一步解释。这里有一些参考资料:

      https://softwareengineering.stackexchange.com/q/144515/290869

      Frames deprecated in HTML5 but not iFrames

      Why are frames deprecated in html?

      【讨论】:

        【解决方案4】:

        index.html:

        ...
        <script type="text/javascript">
            function hello () {
                alert('Say hello!');
            }
        </script>
        <frameset name="main">
         <frame src="frame1.html" name="leftframe"/>
        </frameset>
        ...
        

        frame1.html

        ...
        <script type="text/javascript">
            parent.hello(); // OR parent.YOU_FRAME_NAME
        </script>
        ...
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-29
          • 2019-01-14
          • 2015-02-18
          • 2010-12-11
          • 2012-03-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多