【问题标题】:Use JS Variable in window.location在 window.location 中使用 JS 变量
【发布时间】:2018-10-28 06:53:04
【问题描述】:

我正在尝试创建一个 reddit 共享按钮,但在使用变量定义窗口位置时遇到了问题。例如,这会在 reddit 上打开一个共享窗口,但它没有预填充 url 字段(让我相信 url 参数没有正确传递):

<a href="//www.reddit.com/submit" onclick="shareOnReddit()">
    <img src="//www.redditstatic.com/spreddit7.gif" alt="submit to reddit" border="0"/> </a>
<script>
    function shareOnReddit() {
        var url = encodeURIComponent(window.location);
        alert(url);
        // shows correct url
        window.location = '//www.reddit.com/submit?url=' + url;
        return false;
    }
</script>

但由于某种原因,这(取自reddit's documentation)确实打开了一个带有预填充 url 字段的 reddit 共享页面:

<a href="//www.reddit.com/submit"
   onclick="window.location = '//www.reddit.com/submit?url=' + encodeURIComponent(window.location); return false"> <img
        src="//www.redditstatic.com/spreddit7.gif" alt="submit to reddit" border="0"/> </a>

【问题讨论】:

  • “不起作用”是什么意思?你能更详细地描述一下你做了什么吗?
  • 为什么你说它不起作用?你的代码是正确的。一种不同的方式可能是document.location.href = '//www.reddit.com/submit?url=' + url;,但这不会改变结果。
  • 对不起,我想我可以澄清更多 - reddit 的示例将打开一个共享窗口并使用当前 url 预填充 url 字段。我修改后的示例将打开共享字段,但不会按应有的方式预填充 url。

标签: javascript html share reddit


【解决方案1】:

清理代码后是这样的:

<a onclick="shareOnReddit()">
    <img src="https://www.redditstatic.com/spreddit7.gif" alt="submit to reddit" border="0" />
</a>

<script>
    function shareOnReddit() {
        var url = encodeURIComponent(window.location);
        window.location = '//www.reddit.com/submit?url=' + url;
        return false;
    }
</script>  

我建议删除 href="LINK" TAG,因为事件是通过 onClick="EVENT" 触发的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    相关资源
    最近更新 更多