Получение корня веб-сайта в Javascript

Вопрос: скажем, я разрабатываю сайт.com. Мне нужно получить root (site.com) динамически (для dev и production). Есть ли способ сделать это в JS? Я использую asp.net mvc 3 на сервере. Лучший ответ: Да: window.location.hostname Ответ №1 См. Раздел: Как извлечь часть имени хоста URL-адреса в JavaScript Цитата из ссылки: Вы можете объединить протокол местоположения и хост:

Вопрос:

скажем, я разрабатываю сайт.com. Мне нужно получить root (site.com) динамически (для dev и production). Есть ли способ сделать это в JS?

Я использую asp.net mvc 3 на сервере.

Лучший ответ:

Да: window.location.hostname

Ответ №1

См. Раздел: Как извлечь часть имени хоста URL-адреса в JavaScript

Цитата из ссылки:

Вы можете объединить протокол местоположения и хост: var root = location.protocol + ‘//’ + location.host; Для URL-адреса, скажем, ” qaru.site/questions/… “, он вернет ” /qaru.site/… “,

Ответ №2

Я создал функцию для получения реального корня:

function root() { var scripts = document.getElementsByTagName( ‘script’ ), script = scripts[scripts.length — 1], path = script.getAttribute( ‘src’ ).split( ‘/’ ), pathname = location.pathname.split( ‘/’ ), notSame = false, same = 0; for ( var i in path ) { if ( !notSame ) { if ( path[i] == pathname[i] ) { same++; } else { notSame = true; } } } return location.origin + pathname.slice( 0, same ).join( ‘/’ ); }

вызов этой функции один раз при загрузке js файла.
чтобы он работал, вы ДОЛЖНЫ включать его как js файл.

Применение:

var basepath = root();

Вот некоторые примеры:

location.host: ‘http://test.com’ location.path: ‘/myapp/controller/action/id’

это приведет к:

Оцените статью
Добавить комментарий