为提升您的使用体验,本站正在维护,部分功能暂时无法使用。如果本站文章无法解决您的问题,您想要向社区提问的话,请到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 提问,我们的支持社区将会很快回复您的疑问。

搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

access top frames from within nested frames

more options

I have the following simple script in ann html-document within a nested frameset:

<script type="text/javascript" language="JavaScript"> </script>

The script is activated by the "onload" function in the body. This works flawlessly in Google Chrome, Microsoft Edge, Safari and Opera, bit not in Firefox (latest version).

Anyone any idea how to get it working in Firefox?

I have the following simple script in ann html-document within a nested frameset: <script type="text/javascript" language="JavaScript"> <!-- function InitAct() { window.top.frames.beam.location.replace("topvar1.html"); } //--> </script> The script is activated by the "onload" function in the body. This works flawlessly in Google Chrome, Microsoft Edge, Safari and Opera, bit not in Firefox (latest version). Anyone any idea how to get it working in Firefox?

被采纳的解决方案

Jos said

function InitAct()
  {
    window.top.frames.beam.location.replace("topvar1.html");
  }

Are you testing on the web or on disk? Firefox restricts file:/// access differently than http:// and https:// access.

Assuming on the web:

Are all the frames loading from the same origin? By origin I mean protocol + hostname.

Does Firefox post any error or security messages in either the Web Console for the tab, or in the global Browser console, when the script runs?

See:

定位到答案原位置 👍 1

所有回复 (3)

more options

选择的解决方案

Jos said

function InitAct()
  {
    window.top.frames.beam.location.replace("topvar1.html");
  }

Are you testing on the web or on disk? Firefox restricts file:/// access differently than http:// and https:// access.

Assuming on the web:

Are all the frames loading from the same origin? By origin I mean protocol + hostname.

Does Firefox post any error or security messages in either the Web Console for the tab, or in the global Browser console, when the script runs?

See:

more options

Thanks very much for your answer! I was testing on disk (of course), but when I tested on the web it worked. Strange! I really don't understand why this should be like it is. But I'm glad now it works on the web.

more options

The difference is to protect against an attack scenario where one saved file (which could be from the web) reads other content in the same folder or sub-folders. The change was made around Firefox 68, as explained in the following thread (which has a workaround): https://support.mozilla.org/questions/1264596