2015-07-27 4 views
0

Я хочу использовать Javascript, чтобы открыть HTML-страницу, которая находится в подпапке, но по-прежнему имеет путь относительно моих файлов верхнего уровня. У меня есть код ниже, и ссылка HTML работает до того, как страница будет изменена, но не после этого, потому что все будет тогда относительно подстраницы. Если я нажимаю на ссылку после того, как страница была изменена, он пытается открыть «MyFolder/mypage.html», который, конечно, не существует:Измените HTML-страницу на Javascript, но сохраните путь без изменений

  .. in HTML 

      <a href="myPage.html">My Page Link</a> 

      .. in javascript 

      var pageInFolder = 'myFolder/mySubPage.html'; 

      window.location.href = pageInFolder; 

Я мог бы изменить мои ссылки, чтобы иметь абсолютные пути, но есть способ отображения страницы в папке, но сохранить путь неизменным на моем верхнем уровне?

ответ

3

Вы можете использовать тег HTML <base>. Он позволяет определить, к какому пути относятся.

Что-то вроде: <base href="http://www.example.com">

Рекомендуется, чтобы вы поставили базовый тег в качестве первого тега внутри <head> так все пути в файле появляются после него. С моим примером, даже если вы в MyFolder, любой относительный путь будет относиться к http://www.example.com/myPage.html, не http://www.example.com/myFolder/myPage.html

Примечания, хотя, это относится не только к <a href="">. Это относится к изображениям, файлам JavaScript, файлам CSS и т. Д. Все, где вы использовали бы путь.

+0

Это решило мою проблему. Поскольку я нахожусь на локальном хосте, я использовал: Обратите внимание на слэш после myTopLevel – paulo62

0

Просто добавьте/в начале ваших относительных путей

var pageInFolder = '/myFolder/mySubPage.html'; 
Смежные вопросы