美文网首页
js跳转新页面并执行新页面的某个函数

js跳转新页面并执行新页面的某个函数

作者: 禾苗种树 | 来源:发表于2022-09-07 17:57 被阅读0次
  • 跳转时给url传个特定参数
    在新页面通过判断url有无该参数来确定是否是来自该页面的该行为

  • 不刷新页面: history.pushState():
    在 HTML 文档中,history.pushState() 方法向当前浏览器会话的历史堆栈中添加一个状态(state)。

history.pushState('', '', newUrl); // 不刷新页面
  • 案例
    需求描述:在a页面提交成功后跳转到b页面,并显示b页面提交成功的弹窗
//

//a页面
$.ajax({
        url: /xx/,
        type: 'post',
        dataType: 'json',
        data: token(data),
        cache: false,
        timeout: 20000,
        error: function () { alert('提交失败!'); },
        success: function (data) {
        
            if (data.code ==200) {
                $('.common_tjerr').hide();
                window.location.href=`/goxxx/?id=${goxxid}&ssuccess`;
   
            }else{
                $('.common_tjerr').show();
            }
        }
    });

//b页面
function isCheckSubmit(){
    var url = window.location.href;//获取当前浏览器的url
    index = url.indexOf("ssuccess");//判断当前url是否有ssuccess,如果有,说明是从A页面跳转而来的,就执行下面的程序
    if(index !==-1){

        openSubmitSuccess();
    }
}
 function openSubmitSuccess(){//显示弹框

    $('.submitSuccess').css({'display':'block'});
}

function closeSubmitSuccess(){//点击行为关闭弹框
        let id = $('#goeeesid').val();
        $('.submitSuccess').css({'display':'none'});

        // 修改url避免刷新后一直跳出弹框
        let url =`/goxx/?id=${id}`;
        history.pushState('', '', url);  // 不刷新页面
}

相关文章

网友评论

      本文标题:js跳转新页面并执行新页面的某个函数

      本文链接:https://www.haomeiwen.com/subject/snvgnrtx.html