Я использую include, чтобы вставить один и тот же код jQuery на все страницы моего сайта. Проблема заключается в том, что при выполнении вызова AJAX установка относительной ссылки для URL-адреса работает только для некоторых страниц, а не для всех.
Я не могу установить URL-адрес AJAX из корня сайта, потому что URL-адрес изменяется в зависимости от версии продукта / выпуска.
Я не хочу обновлять включаемый файл при каждом выпуске, чтобы убедиться, что он имеет правильный абсолютный URL.
Синтаксис URL: <domain>/<product>/<version>/<content>
Каталог <content>
содержит html-страницы, а также подкаталоги с дополнительными страницами.
Один URL может быть <domain>/<product>/<version>/topics/green/goingGreen.html
, а другой - <domain>/<product>/<version>/lists.html
. Очевидно, что относительный URL-адрес для вызова AJAX не будет работать для обеих страниц.
Как заставить вызов AJAX работать для всех файлов на сайте через include без использования абсолютной ссылки?
ajax: {
url: '<absolute link> #' + $(this).text().toLowerCase(),
loading: false,
success: function (elems) {
if (elems.length) {
this.set('content.text', elems);
var $elems = $(elems);
} else {
this.destroy();
}
}
}
Если вам интересно, я использую qTip, чтобы извлекать содержимое из определенного файла и отображать всплывающее окно, когда пользователь наводит курсор на определенные термины.
1 ответ
Вы можете обрезать текущий URL-адрес до нужного количества косых черт:
Например,
var relpath = window.location.pathname.match(/^(\/[^\/]*){3}/)[0];
Вернет первые три части вашего URL (/ domain / product / version). Замените {3}
любым другим числом, если хотите, чтобы на вашем текущем пути было другое количество уровней. Используйте это, чтобы сформировать ваш URL-адрес AJAX как абсолютный путь (который по-прежнему чувствителен к вашему текущему относительному положению).
Похожие вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.