我有一个网站,使用JavaScript顶部显示小组中的书店。现在我想使用框架将此网站添加到另一个网站。但是,当我在框架的src中修复URL时,它会更改页面或图像的层次结构,并且不会显示书店。
答案 0 :(得分:0)
所以“top”实际上是“window.top”(但是因为窗口是全局范围的一部分,所以你可以通过“top”来逃避)。如果您阅读了window.top的内容,您会发现它返回“对窗口层次结构中最顶层窗口的引用”。换句话说,如果你有:
Frame Page B
Famed Page C
你从任何一个调用window.top,你将得到相同的窗口对象(页面B的那个)。
但是,如果您改为:
Frame Page A
Frame Page B
Famed Page C
window.top将始终返回页面A的窗口对象,无论您是从A,B还是C调用它。
我认为您想要使用的是(虽然很难知道没有看到您的网站)是window.parent(即“父”,如果您不想打扰“窗口”。)。此属性返回相关窗口的直接父级。如果你从C调用它,它将始终返回B的窗口,即使B在A内框架。这应该允许你按照你想要的方式构建你的(框架)页面,而不会弄乱最里面的框架的逻辑。
希望有所帮助。
答案 1 :(得分:0)
我不确定我是否真的了解你的问题。 (○;
这应该是您网站默认框架集的一种简单形式。
<html>
<frameset rows="50,50">
<frame name="bookframe" src="bookframe.html" />
<frame src="default.html" />
</frameset>
</html>
这应该是带有javascript代码的default.html来控制bookframe面板。
<html>
<body>
<script>
parent.frames["bookframe"].location.href = "uri";
</script>
</body>
</html>
正如你所看到的,我正在使用框架的名称而不是顶部。
使用iframe将我的第一个商家信息中的framset包含到新页面中,并且所有内容仍然有效。
<html>
<body>
<iframe src="frameset.html" />
</body>
</html>
如果您的网站从一开始只使用iframe而不是框架集,那么它仍然使用名称而不是顶部。
提示: 名称应该是唯一的。应该没有同名的javascript变量。只有微软知道为什么!
希望有所帮助!