Є ще один хак, який я використовую і ніколи не бачив у жодній відповіді StackOverflow: використання атрибута зображення "src" дасть повний базовий шлях вашого сайту. Наприклад :
var dummy = new Image;
dummy.src = '$'; // using '' will fail on some browsers
var root = dummy.src.slice(0,-1); // remove trailing '$'
Для такої URL-адреси, як http://domain.com/somesite/index.html
,
root
буде встановлено значення http://domain.com/somesite/
. Це також працює для localhost або будь-якої дійсної базової URL-адреси.
Зауважте, що це спричинить невдалий запит HTTP на $
фіктивне зображення. Ви можете використовувати наявне зображення замість цього, щоб уникнути цього, лише з незначними змінами коду.
Інший варіант використовує фіктивне посилання, без побічних ефектів на HTTP-запити:
var dummy = document.createElement ('a');
dummy.href = '';
var root = dummy.href;
Я проте тестував це не в кожному браузері.