$ window.location.origin дает неправильное значение при использовании IE
$window.location.origin
возвращает неверное значение в IE.
Свойство origin возвращает протокол, имя хоста и номер порта URL.
Пример
url: http://localhost:8080/products/search
Chrome:
$window.location.origin
возвращает http://localhost:8080
IE:
$window.location.origin
возвращает http://localhost:8080/products/search
Как я могу получить правильное значение в IE?
Ответы
Ответ 1
Вам также может понадобиться номер порта. Если это так, вы можете использовать этот polyfill
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//"
+ window.location.hostname
+ (window.location.port ? ':' + window.location.port : '');
}
Этот polyfill уже является частью Modernizr.
Ответ 2
Проблема (как обычно) - это IE, у которого нет window.location.origin
Вместо этого попробуйте использовать что-то вроде:
var root = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
Или вы можете добавить поверх своего javascript этот код, чтобы не беспокоиться об этом
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
}