0

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

我想当一个页面直接被 url'd 时,导航(左框架)也显示。

直到现在我是一个 js 工作,但我不知道它从什么时候开始不工作,现在返回这个消息:

Forbidden 您无权访问此服务器上的 /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> 

谢谢,吉列尔莫。

4

3 回答 3

1

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

如果问题仍然存在,请提供步骤,以便我们可以重现它并查看问题所在。

于 2009-01-20T15:50:05.863 回答
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;
}

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

于 2009-01-27T04:46:59.043 回答
0

谢谢Maiku Mori,

为了正确测试问题,请执行以下操作:

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

现在直接进入页面

  • 访问 www.cpis.es/coprint.htm
  • 错误,您进入了禁止页面。
于 2009-01-21T08:35:37.050 回答