【问题标题】:Firefox window.open not working [closed]Firefox window.open 不工作 [关闭]
【发布时间】:2015-10-09 06:23:21
【问题描述】:

这可能有点不合常规,但我正在尝试实现一些功能,当用户单击时,应在同一选项卡中打开特定页面,同时应立即打开和关闭另一个页面,而不会引起用户注意

我正在使用此代码,并且在 Chrome 中运行良好,但在 FF 或 Safari 中无法正常运行 -

<a href='https://www.abc123.com' onclick=window.open("https://www.xyz123.com","_blank").close();'>abc123</a>

有没有办法在 FF 和 safari 中进行这项工作?

谢谢!

【问题讨论】:

  • 您是否想立即打开和关闭页面,因为您希望运行一些服务器端代码,但又不想显示任何内容?我认为 AJAX 可能是最好的选择。另一种选择是创建一个不可见的 IFrame 并在其中加载页面。
  • Daniel - 你是对的,xyz123 页面本身负责服务器端操作,这就是为什么我尝试将其作为网页打开。

标签: javascript google-chrome firefox href


【解决方案1】:

我认为您缺少'

&lt;a href='https://www.abc123.com' onclick='window.open("https://www.xyz123.com","_blank").close()'&gt;abc123&lt;/a&gt;

在修复输入错误的代码方面,Chrome 有时会更明智。这就是为什么它可以在 Chrome 上运行,但不能在 FF/Safari 上运行。

【讨论】:

    【解决方案2】:

    我不知道您到底想要实现什么,但最好向第二页 (xyz1234.com) 发出 ajax 请求,并在您收到重定向到所需页面 (abc121.com) 的响应时。

    根据第一条评论进行编辑:

    您需要记录使用操作。有两种方法:

    1. 如前所述,您可以使用 ajax 请求来记录用户操作。当您在日志记录完成后收到响应(ajax.onreadystatechange 回调)时,您可以将用户重定向到所需的页面。将 ajax 用于此类事情并不常见。
    2. 喜欢 google/twitter/facebook 等等。首先记录数据,然后重定向到所需的页面。这意味着您可以编写您的链接。记录完成后,您可以根据“realurl”参数重定向到正确的页面。只需注意您将如何发送 realurl 参数 - 纯文本、编码版本或转义版本。其实你千万不要把它作为纯文本发送,因为有一些问题(get方法中有保留符号),但其他两种方式都可以。

    祝你好运:)

    【讨论】:

    • 嗨 Kamen Stoykov- 我基本上是在尝试打开一个登录页面 (abc123) 但在此之前我需要打开一个注销用户的页面 (xyz123)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    相关资源
    最近更新 更多