
文章图片

文章图片

浏览网页时 , 当从A页面点击跳转到B页面后 , 一般情况下 , 可以点击浏览器上的“后退”按钮返回A页面 。
如果进入B页面后 , B页面想让访问者留下 , 禁止返回 , 是否可以实现呢?
这简直是要控制浏览器的行为 , 虽然有些邪恶 , 但确实可以实现 , 使用特殊的JavaScript代码就可实现 。
方法如下:
实现原理:监听浏览器的popstate事件 , 该事件会在用户点击浏览器的回退按钮时被触发 。
然后 , 使用History.pushState()方法向当前浏览器会话的历史堆栈中添加一个陷阱状态 , 该状态会使“回退”操作无效 。
JS源码:
<script>
//浏览器返回键事件
pushHistory();
window.addEventListener(\"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文件内容简单写一句代码:
b文件内容写入上面的源码 。
<a href=https://mparticle.uc.cn/"b.html\">goto b.html</a> 。
打开a页面 , 点击链接进入b页面 , 这时再点击浏览器上的“后退”按钮 , 会发现:操作无效 , 无法后退 。
提升强度:这个黑暗的技巧 , 虽然使用了不常见的技术方法 , 但查看页面源码很容易发现其实现原理 。
为了保护代码、防止代码被分析 , 可以对上面的JavaScript代码加密 , 加密使用JShaman 。
进入JShaman官网 , 贴入代码:
在配置中 , 勾选“字符串加密”:
然后生成混淆加密的JavaScript代码:
复制粘贴回b文件:
【浏览器|JavaScript黑暗技巧:禁止浏览器点击“后退”按钮】这时 , 代码成为加密状态 , 虽然不影响运行 , 是万万不可能了 。
- javascript|穿戴设备将迎变革,OPPO又增新专利,能提升模式切换效率!
- 欧朋浏览器|最可惜的浏览器,Opera
- 浏览器|闲鱼被指存在“灰色”交易?知情人说出真相,真是暗箭难防?
- 近几个月|微软发文称edge是“最适合游戏玩家的浏览器”
- 浏览器|省了一台Xbox!微软确认:Edge将内置云游戏和经典小游戏
- 浏览器|淘宝运营:如何制定店铺的单品推广计划?
- 浏览器|别花冤枉钱!好用且能白嫖的4款电脑软件推荐!请低调使用
- 银联|对话紫鸟浏览器King:行业腹地出来的草根创业者
- 宇宙中真的存在黑暗森林法则吗?其实看看人类自己就知道了
- 红杉资本|广州蓝景技术分享—开发语言JavaScript之多线程
