Базовый тег возится со ссылками на закладки

У меня есть сайт Joomla, который использует mod_rewrite для создания красивых URL-адресов.

http://www.example.com/resources/newsletter

Однако это создало проблему. Включая такие изображения: src = "images/pic.jpg", он будет искать файл по адресу:

http://www.example.com/resources/newsletter/images/pic.jpg

... которого явно не существует. Чтобы обойти это, я включил тег <base> в свой раздел head:

<base href = "http://www.example.com/" />

... который работал нормально, пока я не попытался сделать ссылку на точку привязки (закладку) на той же странице:

<!-- on http://www.example.com/resources/newsletter -->
<a href = "#footer">go to the footer</a>

<!-- clicking that link takes you to http://www.example.com/#footer -->

Изменить мои ссылки на <a href = "resources/newsletter/#footer"> невозможно, так как я не обязательно буду знать URL-адрес страницы при ее редактировании. Есть ли способ заставить некоторые ссылки игнорировать директиву <base>?

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

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
0
440
2

Ответы 2

Можно ли изменить атрибут src на что-то вроде /images/pic.jpg? Так вы добьетесь желаемого эффекта.

Если это невозможно, вам подойдет этот (непроверенный) код jQuery:

$('a[@href^ = "#"]').click(function() { 
  var hash = this.hash, el = $(hash), offset;
  if (!el.size()) {
    el = $("[@name = " + hash.slice(1) + "]");
  }

  offset = el.offset();
  window.scroll(offset.left, offset.top);
}); 

Старый вопрос, новый ответ .. Попробуй это:

$('a[href^ = "#"]').on('click', function (event) { 
    event.preventDefault();
    window.location.hash = $(this).attr('href');
});

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