显示一些页面时强制左(nav)框架

时间:2009-01-20 15:28:38

标签: javascript html iframe

我有一个旧网站,左边框架导航,右边页面。

我希望当页面直接url'd导航(左框架)也显示。

直到现在我还是一名工作,但我不知道什么时候不工作, 现在返回此消息:

禁 您无权访问此服务器上的/master.html。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。 Apache / 2.2.10(Unix)mod_ssl / 2.2.10 OpenSSL / 0.9.8i DAV / 2 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635服务器位于www.cpis.es端口80

我使用的代码是

http://www.webmasterworld.com/forum21/1205.htm

Call this javascript code from the HEAD section of each child page. The code creates a variable from the URL of the page, and then passes that variable in the new location's URL. This means a "master" frameset can load this exact page in the content section: 

<SCRIPT LANGUAGE="JavaScript">
passpage = document.URL 
if (top.location == self.location) 
    top.location.href="master.html?" + passpage 
</script>
Then create just one "master.html" page. It holds the JavaScript code to decipher whatever URL is passed after the "?" and it writes that page into the content frame: 
<html> 
<head> 
<title>Master Frameset</title> 
</head> 
<script language="JavaScript" type="text/javascript"> 
origURL = parent.document.URL 
contentURL = origURL.substring(origURL.indexOf('?')+1, origURL.length) 
document.write('<frameset cols="20%,80%"><frame src="leftnav.html" name="nav"><frame src="' + contentURL + '" name="content"><\/frameset>') 
</script> 
</html> 

谢谢,吉列尔莫。

3 个答案:

答案 0 :(得分:1)

我刚检查了网站,现在似乎正在运作。我的猜测是服务器上的http://www.cpis.es/master.html没有文件。

如果问题仍然存在,请提供步骤,以便我们重现并查看出现了什么问题。

答案 1 :(得分:1)

抱歉延误。

看起来问题出在javascript的这个小小的平静中:

passpage = document.URL 
if (top.location == self.location) 
 top.location.href="master.html?" + passpage 

应该是:

passpage = window.location.pathname;
if (top.location == self.location) {
    top.location.href="master.html?" + passpage;
}

您必须在链接列表中的每个页面中更改该代码。我认为应该解决这个问题。

答案 2 :(得分:0)

感谢Maiku Mori,

为了正确测试问题,请执行下一步:

  • 访问www.cpis.es
  • 单击菜单中的第二个选项(CoPrint)
  • 好的,你看到了leftnav +页面

现在直接进入页面

  • 访问www.cpis.es/coprint.htm
  • 错误,你收到了禁止的页面。