首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iframes修改

iframes修改
EN

Stack Overflow用户
提问于 2009-10-08 13:47:39
回答 2查看 130关注 0票数 0

我有一个网站,在JavaScript中使用top在面板中显示书店。现在我想使用框架将这个网站添加到另一个网站中。但是,当我在框架的src中修复URL时,它改变了页面或图像的层次结构,书店不会显示。

EN

回答 2

Stack Overflow用户

发布于 2009-10-08 18:53:48

所以"top“实际上是"window.top”(但是因为window是全局作用域的一部分,所以你可以只使用"top")。如果你仔细阅读window.top的功能,你会发现它返回的是“对窗口层次结构中最顶层窗口的引用”。换句话说,如果你有:

代码语言:javascript
复制
Frame Page B
  Famed Page C

从其中任何一个调用window.top,都会得到相同的窗口对象(页面B的那个)。

但是,如果你有:

代码语言:javascript
复制
Frame Page A
  Frame Page B
    Famed Page C

无论是从A、B还是C调用,window.top都将始终返回页面A的窗口对象。

我认为你想要用的是window.parent (也就是说,如果不看你的网站就很难知道)。"parent“,如果你不想为”window“而烦恼的话。此属性返回相关窗口的直接父级。如果你从C调用它,它将总是返回B的窗口,即使B被框在A中。这应该允许你随心所欲地框住你的(框)页面,而不会弄乱最里面的框的逻辑。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2009-10-09 06:58:59

我不确定我是否真的理解你的问题。(o;

这应该是您网站的默认框架集的一个简单形式。

代码语言:javascript
复制
<html>
    <frameset rows="50,50">
        <frame name="bookframe" src="bookframe.html" />
        <frame src="default.html" />
    </frameset>
</html>

这应该是包含控制书框面板的javascript代码的default.html。

代码语言:javascript
复制
<html>
    <body>
        <script>
            parent.frames["bookframe"].location.href  = "uri";
        </script>
    </body>
</html>

如您所见,我使用的是框架的名称,而不是top。

代码语言:javascript
复制
<html>
    <body>
        <iframe src="frameset.html" />
    </body>
</html>

如果您的网站从一开始就只使用iframe而不是框架集,它仍然可以通过使用名称而不是top来工作。

提示:名称应该是唯一的。不应该有同名的javascript变量。只有微软ie知道为什么!

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1537907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档