Принудительно использовать левый (навигационный) фрейм при отображении некоторых страниц

У меня старый веб-сайт, навигация во фрейме слева, страницы справа.

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

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

Запрещенный У вас нет разрешения на доступ к /master.html на этом сервере. Кроме того, произошла ошибка 404 Not Found при попытке использовать ErrorDocument для обработки запроса. 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 Сервер на порт 80 www.cpis.es

Код, который я использовал,

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> 

Спасибо, Гильермо.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
375
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

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

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

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

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

теперь иди прямо на страницу

  • перейдите на www.cpis.es/coprint.htm
  • ошибка, вы попали на запрещенную страницу.
Ответ принят как подходящий

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

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

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

Другие вопросы по теме