【问题标题】:window.location.href not being assigned / redirectedwindow.location.href 没有被分配/重定向
【发布时间】:2015-12-13 21:03:16
【问题描述】:

这是对你们几周前回答的先前问题的后续。 WordPress.org 应用程序中有我无法更改的 HTML。此 HTML 中的部分包含超链接到 someURL 的文本。我希望 URL 重定向到我的推荐人页面,以便在我单击此链接时返回到我所访问的任何页面。问题是某些东西阻止了将我的引荐来源网址字符串分配给 HREF。我在 Chrome 调试器中单步执行了此功能一百次,并尝试了各种事情(见下文)。 HREF 根本不会改变,无论如何。知道为什么吗?这是代码,感谢您对此的任何帮助:

window.onload = function () {


    document.querySelector(".button.wc-backward").onclick = function() {

        var URLstring = document.referrer;  // works fine

        window.location.href = URLstring;  // ref unchanged

        setTimeout(function () {
            window.location.href = URLstring; },100);  // same result

        return false;
    }
}

【问题讨论】:

  • .button.wc-backward 是什么元素? A?如果是这样,您必须阻止链接的默认操作,否则挂起的服务器调用会阻止对 location 对象属性的更改。
  • 元素是这个'needlepoint.land/index.php/catalog-2/">Return To Shop' 我想'return false;'阻止默认行为。
  • 你提到你之前的问题已经回答了,记得检查正确答案。至于当前的问题,Amina 的演示效果很好。
  • 可能是其他东西在您设置后覆盖了onclick 属性。你真的应该使用addEventListener
  • 不确定在哪里标记正确答案,但会仔细寻找。

标签: javascript href window.location


【解决方案1】:

你的jscode没有问题,我已经添加到这里了: Example on github

而且它正在工作。 (您将被重定向回 stackoverflow)。

<html>
<head>
</head>
<body>
<script>
 window.onload = function () {
    document.querySelector(".button.wc-backward").onclick = function() {
        var URLstring = document.referrer;  // works fine
        window.location.href = URLstring;  // ref unchanged
        setTimeout(function () {
            window.location.href = URLstring; 
        }, 100);  // same result
        return false;  
    }
}
</script>
<a href="www.google.com" class="button wc-backward">the link</a>
</html>

【讨论】:

  • 谢谢。然后它让我感到困惑,为什么它不适用于我在 WP 上用于电子商务应用程序的主题。再次感谢您!
  • 给我们一个链接。或下载 HTML(在浏览器的保存对话框中完成网页)并添加链接。
  • 当我使用 chrome 在控制台上评估 href 时,它保持不变:-(
  • 这里是链接 [needlepoint.land/index.php/cart/] 只需从 HP 转到此页面并单击框。无论如何,您都会被带到目录中。
  • 我想这与沙盒模型有关。 Here OP 也有类似的问题,但有趣的是,他们的代码在沙盒堆栈片段中运行良好。我发布了一个关于href 问题的question,但所有好的答案都是由凯文 B 在 cmets 中给出的。
【解决方案2】:

你的代码在工作......你也想试试这个

window.location.assign(URLstring)

【讨论】:

    猜你喜欢
    • 2013-03-23
    • 2018-12-01
    • 1970-01-01
    • 2016-10-20
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多