Используйте переменную JS в window.location - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь создать кнопку общего доступа 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 ) действительно открывает страницу общего доступа reddit с предварительно заполненным полем URL:

<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>

1 Ответ

0 голосов
/ 18 мая 2018

После очистки кода это выглядит так:

<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"

...