$window.location.origin дает неправильное значение при использовании IE
$window.location.origin
возвращает неправильное значение в IE.
Свойство origin возвращает протокол, имя хоста и номер порта URL.
пример
URL: http://localhost:8080/products/search
Хром:$window.location.origin
возвращает http://localhost:8080/
IE:$window.location.origin
возвращает http://localhost:8080/products/search
Как я могу иметь правильное значение в IE?
2 ответа
Решение
Вам также может понадобиться номер порта. Если это так, вы можете использовать этот polyfill
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//"
+ window.location.hostname
+ (window.location.port ? ':' + window.location.port : '');
}
Этот полифилл уже является частью Modernizr.
Проблема (как обычно) в том, что 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: '');
}