页面跳转后,仅仅第一次执行js,后面刷新不执行该js


其实我的js执行的是一个弹窗,只想让其在第一次跳转的时候弹出。而之后刷新页面,不想再让其弹出

逻辑

从前一个跳转过来的页面中,修改地址栏,加上一个参数。在要弹窗的页面中,判断这个参数是否存在。存在则调用弹窗方法。执行完后,修改地址栏(修改并不刷新),然后刷新之后,并不会再次弹窗。

跳转前的页面

<a id="turnToAlumList" onclick="turnToAlumList()">新建案例</a>

    <script type="text/javascript">
        //使用js实现新建案例的页面跳转
        function turnToAlumList() {
        	//举个例子,本来你想要访问的页面是http://www.fff.com
        	//加上一个判断参数:http://www.fff.com?isRefresh=false
        	//这样并不会影响你的跳转
            location.href = '你要跳转的页面url加上参数&isRefresh=false';//跳转页面
        }
	</script>

跳转之后的页面

  • 获取地址栏参数的方法

<script language="javascript" type="text/javascript">
    //获取地址栏参数的方法
    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;
    }
 </script>
  • 第一次执行js后,修改地址栏url
<script language="javascript" type="text/javascript">
        //第一次弹窗,弹窗后修改地址栏,并让之后按着修改后的地址栏进行刷新
        //我们刚刚设置的参数名字为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");
            }
        }
</script>

实现效果

最后实现效果:
最后实现仅仅在第一次跳转弹出那个窗口,而刷新不会再弹出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值