$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上获得正确的价值?
答案 0 :(得分:71)
您可能还需要端口号。如果是这样,您可以使用此polyfill
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//"
+ window.location.hostname
+ (window.location.port ? ':' + window.location.port : '');
}
此polyfill已经是Modernizr的一部分。
答案 1 :(得分:30)
问题(像往常一样)是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: '');
}