技术解析

js 如何拦截 location.href,让页面的 location.href 都失效或者可以自定义跳转到其他页面?
0
2021-08-11 00:23:55
idczone
alert()和 window.open()都可以拦截,只需要重新赋值即可,比如添加一行 alert=0,那么所有的 alert 就失效了。甚至可以自定义只拦截包括某些字符串的 alert 对话框,具体可以搜索“js 拦截 alert”。

html 的 a 标签也可以拦截, 具体可以搜索“js 阻止 a 标签跳转”。

但是 location.href 是一个属性,只要修改属性就会触发页面跳转,设置为任何值都无法让它失效。并且 href 属性也无法删除。难道没其他办法了呢?或者能不能获取到 location.href 这个事件并拦截,然后再自定义做自己想做的事。
Object.defineProperty

把 location 干掉?

....为什么要在 very bad practise 的路上渐行渐远呢

具体可以搜索“js proxy”

我查一了 proxy,貌似也是不行 https://stackoverflow.com/questions/45965893/how-do-i-apply-get-proxy-on-window-location-in-javascript
——————
关注一下,可以整 就可以写个油猴脚本,在手机上阻止部分网页打开 app 了

其实我就是想阻止手机上打开 app,比如手机网页打开淘宝一般是用下面的代码:
window.location.href = 'taobao://m.taobao.com'
taobao://是淘宝注册的 scheme,所以会打开淘宝,后面的 m.taobao.com 就是要打开的网页地址,如果输入 taobao://detail.tmall.com/item.htm?id=616270509106 就会打开一个天猫的服装商品页面

一楼正解

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服