怎么用JS阻止页面跳转?

JavaScript09

怎么用JS阻止页面跳转?,第1张

别费劲了,浏览器的安全机制是不会允许你这么做的,否则就是给流氓软件(不是说你的)开绿灯了,也就是说,当用户主观上想关闭或跳转网页时,网页脚本是不允许在未经用户同意的情况下强行阻止的,所以弹框是最基本的操作。这个是html标准中规定的,所有浏览器必须遵守的,除非你有能力自己开发一个浏览器。

常规页面location.href跳转被阻止时,不涉及前端部分。

也有可能是浏览器本身对于http和https的证书验证拦截,并非bug。

以下为https在大部分浏览器标识。

部分浏览器会因以下原因阻止页面的重定向。

如果想跳转到指定网址,可以这样:

document.querySelectorAll("div#buttons button")[3].onclick=function(){location.href='指定的网址'}

如果想禁止跳转,可以这样:

document.querySelectorAll("div#buttons button")[3].onclick=function(){return false}

或者

document.querySelectorAll("div#buttons button")[3].onclick=null