заставить левый (навигационный) фрейм при показе нескольких страниц - PullRequest
0 голосов
/ 20 января 2009

У меня старый сайт, навигация в рамке слева, страницы справа.

Я хочу, чтобы при прямой ссылке на страницу отображался также навигационный элемент (левый кадр).

До сих пор я работал в JS, но я не знаю, когда он не работал, теперь возвращает это сообщение:

Запрещено У вас нет прав доступа к /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 ]

1 голос
/ 27 января 2009

Извините за задержку.

Похоже, проблема в этом маленьком кусочке 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;
}

Вы должны изменить этот код на каждой странице, которая у вас есть в списке ссылок. Я думаю, что это должно решить проблему.

1 голос
/ 20 января 2009

Я только что проверил сайт, и теперь он работает. Я предполагаю, что на сервере не было файла, расположенного в http://www.cpis.es/master.html.

Если проблема все еще существует, пожалуйста, предоставьте шаги, чтобы мы могли воспроизвести ее и посмотреть, что пошло не так.

0 голосов
/ 21 января 2009

Спасибо, Майку Мори,

Чтобы правильно проверить проблему, выполните следующие действия:

  • перейти на www.cpis.es
  • щелкните по второму параметру в меню (CoPrint)
  • хорошо, вы видите левую косу + страницу

Теперь перейдите непосредственно на страницу

  • перейдите на www.cpis.es/coprint.htm
  • ошибка, вы получили запрещенную страницу.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...