如果进入B页面后,B页面想让访问者留下,禁止返回,是否可以实现呢?

这切实其实是要掌握浏览器的行为,虽然有些邪恶,但确实可以实现,利用分外的JavaScript代码就可实现。

方法如下:

html后退代码JavaScript阴郁技能制止阅读器点击撤退退却按钮 React

实现事理:

监听浏览器的popstate事宜,该事宜会在用户点击浏览器的回退按钮时被触发。

然后,利用History.pushState()方法向当前浏览器会话的历史堆栈中添加一个陷阱状态,该状态会使“回退”操作无效。

JS源码:

<script>

//浏览器返回键事宜

pushHistory();

window.addEventListener(&#34;popstate", function(e) {

//判断移动端

var userAgentInfo = navigator.userAgent;

var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");

var equipmentType = false;

for (var v = 0; v < Agents.length; v++) {

if (userAgentInfo.indexOf(Agents[v]) != -1) {

equipmentType = true;

break;

}

}

if (equipmentType) {

$("#mask-back").show();

$("#mask-back .back-close").on("click", function() {

$("#mask-back").hide();

})

}

pushHistory(); //注,此处调用,可以让用户一贯勾留着这个页面

}, false);

function pushHistory() {

var stateeee = {

title: "title",

url: "#"

};

window.history.pushState(stateeee, "title", "#");

}

</script>

测试方法:

建立两个文件:a.html、b.html。

a文件内容大略写一句代码

<a href="b.html">goto b.html</a>。

b文件内容写入上面的源码。

打开a页面,点击链接进入b页面,这时再点击浏览器上的“退却撤退”按钮,会创造:操作无效,无法退却撤退。

提升强度:

这个阴郁的技巧,虽然利用了不常见的技能方法,但查看页面源码很随意马虎创造实在现事理。

为了保护代码、防止代码被剖析,可以对上面的JavaScript代码加密,加密利用JShaman。

进入JShaman官网,贴入代码:

在配置中,勾选“字符串加密”:

然后天生稠浊加密的JavaScript代码:

复制粘贴回b文件:

这时,代码成为加密状态,虽然不影响运行,是切切不可能了。