如题,最近百度信息流针对部分客户发布了禁止“霸屏”代码的公告,作为一名网络营销人员,之前的技术人员,我看到公告的第一反应居然就是“哇靠,居然还可以这么搞,我怎么没想到”的感慨。
实现原理:
利用html5的window.history.pushState()函数往浏览器地址栏中人为推送几条历史记录,点击回退按钮的时候,直接退回到添加的历史记录中。
实现方式如下:
在全局js中添加如下js代码:
//添加历史记录 addHistory =function (){//参数依次填入要添加的同网站地址即可 var sourceHref =document.location.href; for (var i=0;i<arguments.length;i++){ window.history.pushState({}, "", arguments[i]); } window.history.pushState({}, "", sourceHref); } window.addEventListener("popstate", function(e) {//激活点击浏览器后退按钮时刷新页面 location.reload() }, false);
在需要添加历史记录的页面添加调用代码:
addHistory("推广链接1","推广链接2","推广链接3"); //链接数量不限定,0-n个都可以,链接可以是相对页面也可以是绝对网址,不过是绝对网址的时候,一定要是本网站的地址。