javascript - 在 window.location 中使用 JS 变量

标签 javascript html share reddit

我正在尝试创建一个 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>

最佳答案

清理代码后,它看起来像这样:

<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"标签,因为该事件是通过 onClick="EVENT"触发的

关于javascript - 在 window.location 中使用 JS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50401015/

相关文章:

javascript - 注入(inject)器已经创建。无法注册模块

visual-studio-2010 - 在 Visual Studio 中共享指向代码位置(源文件/行号)的链接

facebook - 想要将我整个页面中的特定 block 或 div 分享到 Facebook

html - 将鼠标悬停在图像上时试图使 div 出现

java - 如何在 CData (Java) 中包装 HTML 内容以进行 XSLT - XML 到 HTML

将数据保存到二维数组的 JavaScript 代码抛出未定义的异常

android - ActionBar 共享项目产生 "Android System"thingy

javascript - 检查图像 URL 是否有效或已损坏

javascript - 按两个输入值之间的范围过滤元素的菜单

javascript - 生成0到1的随机数