如何建设网站制作平台,辽宁建设工程信息网官网入口,工作微信管理系统,玉林网站优化概念 获取当前页面的地址信息#xff0c;还可以修改某些属性#xff0c;实现页面跳转和刷新等。 样例展示 window.location 含义.originURL 基础地址#xff0c;包括协议名、域名和端口号.protocol协议 (http: 或 https:).host域名端口号.hostname域名.port端口号.pathname路…概念 获取当前页面的地址信息还可以修改某些属性实现页面跳转和刷新等。 样例展示 window.location 含义.originURL 基础地址包括协议名、域名和端口号.protocol协议 (http: 或 https:).host域名端口号.hostname域名.port端口号.pathname路径(以/开头).search查询字符串以?开头.hash页面锚点以#开头.href完整 URL
比较容易混淆的是host和hostname这两个属性区别是前者还包含了端口号。
修改属性值
以上属性除了origin是只读属性其他都可以修改。修改后的效果就是跳转到相应的新地址。 属性一览表
方法一览表
.assign()导航到指定 URL.replace()导航到指定 URL并删除当前页面的访问记录.reload()重新加载当前页面.toString()返回 URL 字符串
.toString()和.href都是返回 URL它们之间有区别吗结果是一样的性能上稍微有点差别。通过 JSPerf 上的性能测试结果可以看出.href稍快通过window.location拼接字符串的形式速度最慢。
.assign() 和直接修改href是等价的那么它们跟.replace()的区别是什么呢
.assign() 在跳转新地址的同时会留下当前页面的访问记录点击浏览器返回按钮会回到原来的页面.replace()则不会保留。 场景1页面跳转锦集
location.hrefhttps://www.baidu.com
window.open(http://www.baidu.com,_self)
location.assign(http://www.baidu.com)
location.replace(http://www.baidu.com)
a hrefhttps://www.baidu.com跳转/a页面中跳转固定的地址
function imitateClick(url){let aEle document.createElement(a);aEle.setAttribute(href, url);aEle.setAttribute(target, _blank);aEle.setAttribute(id, previewJumpEle);// 防止重复添加if (!document.getElementById(previewJumpEle)) {document.body.appendChild(aEle);}// 模拟点击aEle.click();(aEle.remove aEle.remove()) || (aEle.removeNode aEle.removeNode(true));
};
imitateClick(https://www.baidu.com);js中直接做无感跳转但是此方法有个弊端经过验证有的浏览器可能会拦截慎用。 meta http-equivrefresh content5;urlhttp://www.w3school.com.cn场景2检测协议并提示用户
if (location.protocol http:) {this.$confirm(确定吗).then(() {location.href https://www.baidu.com})}