【问题标题】:Will code be executed after window.location =''代码会在 window.location ='' 之后执行吗
【发布时间】:2017-05-10 14:35:59
【问题描述】:

如果我们有这样的代码:

window.location = 'http://example.net';
$.ajax({...});

是否有可能发送 ajax 代码?或者没有机会,那个ajax请求会被执行? 谢谢

【问题讨论】:

  • 不,有机会。
  • 我不会指望成功完成该 ajax 请求(如果有的话)。
  • 我的建议是将 window.location 移动到 ajax 调用的 onSuccess 回调中 - 这样您只会在 ajax 请求完成后重定向用户。

标签: javascript


【解决方案1】:

location 属性改变时,用户代理开始卸载当前文档,为加载新文档做准备。只有注册到 documentwindow beforeunloadunload 事件的代码才会在此时执行。

【讨论】:

    【解决方案2】:

    浏览器会尝试执行window.location之后的代码,直到页面转到下一个网址,所以将执行的代码行数取决于浏览器的速度

    What happens to code after a javascript redirect (setting window.location.href)?

    【讨论】:

      【解决方案3】:

      没有。 js 得到重定向命令后不会执行任何一行代码。

      【讨论】:

        猜你喜欢
        • 2017-10-21
        • 1970-01-01
        • 1970-01-01
        • 2021-02-26
        • 1970-01-01
        • 1970-01-01
        • 2013-12-17
        • 2021-08-14
        • 1970-01-01
        相关资源
        最近更新 更多