我正在我的网站上工作,主页面(index.html)由两个框架组成:page1.html和page2.html。这是代码:
<!DOCTYPE html>
<head>
<frameset rows="16%,84%" framespacing="0" border="0" frameborder="0">
<frame name="page1" target="page2" src="page1.html" scrolling="auto">
<frame name="page2" src="page2.html" target="_self" scrolling="auto">
<noframes></noframes>
</head>
</html>
第一个作为包含页面的固定内容 多个链接到网站的其余部分。这绝对重要 这个页面每时每刻都是开放的。
第二个是“身体”,内容区域,任何时候都被替换 点击链接。
所以这是我的问题:如果不是从index.html访问任何页面,例如google,page1.html将不存在,因为它只通过index.html打开,并且该站点将缺少它的主链接。 / p>
我正在寻找一个代码来检查页面“page1.html”是否存在,如果不存在,请将其作为一个框架打开。
我最接近的是这个javascript代码:
<script language="javascript">
window.onload=function(){
if(self==parent)
window.location.href = "index.htm"
}
</script>
如果不是从index.html进入页面的任何用户,它将重定向到它。但那仍然没有好处。有线索吗?
答案 0 :(得分:1)
当我读到你的问题时,首先想到的是阅读window.frames.length
并采取行动。正是你自己做了什么。
但是,您现在几乎可以看到frameset
和frame
被弃用的技术。相反,将链接放在HTML5&lt; nav&gt;中或者常规&lt; div&gt;,然后将内容放入HTML5&lt; article&gt;或其他常规&lt; div&gt;。接下来使用vanilla / plain JavaScript或jQuery等框架动态加载内容。
如果你坚持将导航链接放在永远不会消失的“框架”中,并且你想将HTML文件加载到屏幕的子部分,那么我仍然会将导航链接放在&lt; nav&gt中;或者&lt; div&gt;并使用&lt; iframe&gt;对于内容。
答案 1 :(得分:0)
框架已被弃用但无论如何:
检查页面是否是这样的父框架:
if(window.top == window.self)
window.top是父框架,window.self是当前框架。它们是相同的,没有父框(集)。