Javascript/jQuery получить корневой URL-адрес веб-сайта
У меня есть веб-сайт:
" http://www.example.com/folder1/mywebsite/subfolder/page.html"
Корень сайта: " http://www.example.com/folder1/mywebsite"
Я хотел бы получить корневой URL-адрес "mywebsite" динамически.
Если я опубликую этот сайт в другом месте, мне не нужно будет менять script.
Например: http://www.example.com/otherFolder/test/myChangedWebsite/subfolder/page.html"
Я получу:
" http://www.example.com/otherFolder/test/myChangedWebsite "
Я попробовал в "page.html" javascript:
var url = window.location.protocol + "//" + window.location.host + '/otherPage.html
но это дает мне только " http://www.example.com/otherPage.html ".
Также я знаю о location.origin, но это не поддерживается для всех браузеров, поскольку я нашел, что по ссылке: http://www.w3schools.com/jsref/prop_loc_origin.asp
Если это можно сделать с помощью jQuery, это будет хорошо.
Ответы
Ответ 1
Здесь функция, выполняющая то же самое, что и сообщение Hawk выше, только намного, намного короче:
function getBaseUrl() {
var re = new RegExp(/^.*\//);
return re.exec(window.location.href);
}
Подробности здесь: Javascript: получить базовый URL или корневой URL
Ответ 2
немного короче:
function getBaseUrl() {
return window.location.href.match(/^.*\//);
}
Ответ 3
если ваше местоположение фиксировано после mywebsite/subfolder/page.html"
то используйте этот
location.href.split("mywebsite")[0]