【问题标题】:setting location.href twice in chrome在 chrome 中设置 location.href 两次
【发布时间】:2011-12-08 22:08:47
【问题描述】:

我正在使用

location.href=document.getElementById("link1").href;
location.href=document.getElementById("link2").href;

运行与链接关联的脚本:

<a id="link1" href="javascript:...">
<a id="link2" href="javascript:...">

该代码在 Firefox 中运行良好,但在 Chrome 中仅执行最后一个 location.href 命令(因此仅执行第二段 javascript 代码)。如何强制它执行第一次和第二次?

【问题讨论】:

  • href 属性实际上 in 是什么?由于它以javascript: 为前缀,您是否检查过包含的JS 中没有错误?另外,使用点击处理程序;它更干净,更容易。
  • 嗯?您正在拨打两个 location.href 电话?那是行不通的!这是一个竞赛条件。了解 xmlhttprequest 对象!哎呀。
  • 与我互动的页面不是我的。您可以使用您知道的任何页面进行测试。一个例子: link1
    link2 。我知道点击处理程序。但上述解决方案更好,因为它允许我对 FF 和 Chrome 使用相同的代码。
  • 在 FF 中我可以设置 location.href 甚至上千次。

标签: javascript google-chrome location href


【解决方案1】:

我也遇到过类似的情况。我通过使用setTimeout 函数将第二个函数延迟一点来解决它,它工作正常。

【讨论】:

    【解决方案2】:

    尝试将您的 javascript 代码放入函数中。

    然后,您可以在单击链接时从链接中调用这些函数,也可以在需要它们的任何其他位置调用它们。 这是一种比使用 url 更稳定的代码运行方式。

    【讨论】:

    • 您介意发布您的函数/实际代码吗?没有理由不这样做。
    • 这是正确的做法。如果它不适用于 OP,那是因为他们没有正确执行。我同意xthexder。发布您的代码。
    • 我与之交互的页面不是我的。无论如何,您可以在任何页面上自行测试。一个例子: link1
      link2
    猜你喜欢
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 2022-11-12
    • 2016-12-16
    • 2012-01-06
    • 1970-01-01
    相关资源
    最近更新 更多