页面跳转后,仅仅第一次执行js,后面刷新不执行该js | 您所在的位置:网站首页 › js调用url不跳转 › 页面跳转后,仅仅第一次执行js,后面刷新不执行该js |
文章目录
逻辑跳转前的页面跳转之后的页面实现效果
其实我的js执行的是一个弹窗,只想让其在第一次跳转的时候弹出。而之后刷新页面,不想再让其弹出
逻辑
从前一个跳转过来的页面中,修改地址栏,加上一个参数。在要弹窗的页面中,判断这个参数是否存在。存在则调用弹窗方法。执行完后,修改地址栏(修改并不刷新),然后刷新之后,并不会再次弹窗。 跳转前的页面 新建案例 //使用js实现新建案例的页面跳转 function turnToAlumList() { //举个例子,本来你想要访问的页面是http://www.fff.com //加上一个判断参数:http://www.fff.com?isRefresh=false //这样并不会影响你的跳转 location.href = '你要跳转的页面url加上参数&isRefresh=false';//跳转页面 } 跳转之后的页面 获取地址栏参数的方法 //获取地址栏参数的方法 function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; } 第一次执行js后,修改地址栏url //第一次弹窗,弹窗后修改地址栏,并让之后按着修改后的地址栏进行刷新 //我们刚刚设置的参数名字为isRefresh,值是false。这边通过GetQueryString方法就可以获取到 var isRefresh = GetQueryString("isRefresh"); window.onload = function () { //第一次过来的时候,获取到了参数值,所以会弹窗 if(isRefresh == "false"){ getTip(0); //这是我本人的弹窗方法,改成你自己的 var url = window.location.href; window.history.pushState({},0,"这里放上不带参数的原url"); } } 实现效果最后实现效果: 最后实现仅仅在第一次跳转弹出那个窗口,而刷新不会再弹出 |
CopyRight 2018-2019 实验室设备网 版权所有 |