无需纠结IE11,教你window.location.origin兼容性处理
2023-11-20 09:55:31
window.location.origin是什么?
window.location.origin是一个只读属性,它返回当前URL的协议、主机和端口。它与window.location.href类似,但它不包含路径或查询字符串。
window.location.origin的兼容性
window.location.origin属性在IE11中不可用。这意味着如果您想要在IE11中使用window.location.origin,您需要使用一个polyfill。
如何解决window.location.origin的兼容性问题?
解决window.location.origin兼容性问题的方法有几种。一种方法是使用polyfill。
如何兼容IE11?
要兼容IE11,您可以使用兼容性库,如polyfill.io。polyfill.io提供了一个window.location.origin polyfill,可以在IE11中使用。
polyfill.io的用法很简单。您只需要将以下代码添加到您的HTML文件中即可:
<script src="https://cdn.polyfill.io/v3/polyfill.min.js"></script>
然后,您就可以在IE11中使用window.location.origin属性了。
除了使用polyfill之外,您还可以使用window.location.protocol、window.location.hostname和window.location.port属性来构建一个兼容IE11的window.location.origin属性。
var origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
这种方法与使用polyfill相比,性能稍差一点,但它仍然可以在IE11中使用。
总而言之,兼容window.location.origin的方法有如下:
1、使用window.location.protocol、window.location.hostname和window.location.port属性来构建一个兼容IE11的window.location.origin属性。
2、使用兼容性库,如polyfill.io。
3、使用其他第三方库,如jQuery。
4、使用以下兼容脚本:
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
}
只要您使用兼容性库或脚本,您就可以在IE11中使用window.location.origin属性。