ajax - Internet Explorer 在 window.open 和 AJAX 调用上调用 window.onbeforeunload

标签 ajax internet-explorer window.open onbeforeunload

好的,我在这个问题上花了一段时间,这是我收集到的:

  • 如果您在 IE7 中进行 AJAX 调用并且指定了 window.onbeforeunload 函数,它将调用 onbeforeunload 函数。
  • 如果您尝试使用 window.open 打开一个新窗口而不干扰当前窗口,则 onbeforeunload 将被调用。

  • 有谁知道如何阻止这种情况?我什至尝试将一个变量设置为 TRUE 并在我的 onbeforeunload 函数中检查该变量,但它仍然不起作用!我只需要能够为 AJAX 调用和新窗口调用停止该方法的执行。

    最佳答案

    另一个可能更简单的选择是在打开弹出窗口时返回 false:

    <a onclick="window.open(...); return false;" href="javascript:;" >my link</a>
    

    这似乎阻止 IE 认为您正在离开页面并触发事件。所有其他选项对我来说都不是特别可行。

    关于ajax - Internet Explorer 在 window.open 和 AJAX 调用上调用 window.onbeforeunload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1658481/

    相关文章:

    php - Jquery 不允许我保存我的全文。只有 1 个字

    jquery - IE/jquery/CSS 兼容性

    javascript - 使用 Javascript window.open 和 jQuery 提交表单

    javascript - 在 anchor 标记中使用 javascript window.open(elementName.elementValue) 在新选项卡中打开页面

    html - 刷新使用 window.location.replace 或 window.open(url ,'_self' ) 打开的页面会将我带到上一个窗口

    jquery - 如何通过ajax向Perl脚本发送数据?

    javascript - 有没有办法执行“即发即忘”AJAX 请求?

    php - 查询数组的结果只显示一个结果?

    javascript - Internet Explorer 7 - Javascript 'undefined' 未测试

    css - 即 GWT : DockPanel center component 100% height style is ignored