m0_37670973 2025-06-06 14:59 采纳率: 30%
浏览 13

搜狗浏览器13版本 js中用window.open打开页面时,同一个请求请求两次,第一次被挂起,第二次成功

搜狗浏览器13版本,用ie兼容模式打开系统。 extjs中用window.open打开页面时,同一个请求请求两次,第一次被挂起,第二次成功

img

debug时,window.open第一次请求时,页面已正常打开,但是总会调用下面的代码,重新打开一次。

img

如何确保只请求一次。settimeout或者嵌入a标签的方式,都失败。

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-06-06 14:59
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    搜狗浏览器13版本 js 中用 window.open 打开页面时,同一个请求请求两次,第一次被挂起,第二次成功

    你遇到的问题是,使用 window.open 打开页面时,同一个请求被发送两次,第一次被挂起,第二次成功。这可能是由于浏览器的缓存机制或其他原因导致的。

    为了解决这个问题,你可以尝试以下几种方法:

    1. 使用 window.openreplace 参数,例如:
    window.open('https://example.com', '_blank', 'replace=yes');
    

    这将替换当前页面,而不是在新标签页中打开。

    1. 使用 window.opentarget 参数,例如:
    window.open('https://example.com', '_blank', 'target=_blank');
    

    这将在新标签页中打开页面,而不是在当前标签页中打开。

    1. 使用 window.openasync 参数,例如:
    window.open('https://example.com', '_blank', 'async=yes');
    

    这将异步打开页面,而不是同步打开。

    1. 检查是否有其他 JavaScript 代码或插件影响了 window.open 的行为。

    2. 尝试使用其他浏览器或版本,例如 Chrome 或 Firefox,来验证是否是浏览器相关的问题。

    如果以上方法都不能解决问题,你可以提供更多的 debug 信息和代码,帮助我更好地理解和解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月6日