Как мне преобразовать URL в JS для использования в Facebook кнопку «Поделиться»? - PullRequest
0 голосов
/ 26 сентября 2019

Прежде всего, у меня есть сгенерированная dymanical страница, ее URL-адрес

https://example.com/main?id=First%20Theory&id2=A&id3=87710

Когда я захожу на Страница Инструментария Facebook для разработчиков и генерирую ссылку для кнопки «Поделиться», она генерирует это:

https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fexample.com%2Fmain%3Fid%3DFirst%2BTheory%26id2%3DA%26id3%3D87710&src=sdkpreparse

Я использую эту ссылку в кнопке общего доступа в Facebook, и она работает и хорошо передает.

Затем мне нужно использовать переменную для этой ссылки, потому что мои страницы генерируются динамически.

Таким образом, я вызываю URL в js и помещаю ссылку как переменную:

<a class="fb-share-button"
     [href]="urlToCopy"
     data-layout="button_count" data-size="small">
     <a target="_blank"
       [href]="'https://www.facebook.com/sharer/sharer.php?u=' + urlToCopy + ';src=sdkpreparse'"
       class="fb-xfbml-parse-ignore">{{urlToCopy}}</a>
</a>    

где urlToCopy

https://example.com/main?id=First%20Theory&id2=A&id3=87710

Затем, когда я делюсь с этой кнопкой общего доступа, модальное окно facebookоткрывается со странным URL

https://www.facebook.com/sharer/sharer.php?u=https://example.com/main?id=First%20Theory&id2=A&id3=87710;src=sdkpreparse

, и общий доступ не работает правильно.

Как я могу решить эту проблему и какое преобразование URL мне следует сделать с помощью js, чтобы использовать его в кнопке общего доступа Facebook?

1 Ответ

0 голосов
/ 26 сентября 2019

То, что вы здесь делаете, представляет один URL-адрес в качестве значения параметра строки запроса в другом URL-адресе, поэтому первый должен быть правильно закодирован в URL-адресе.

Применить encodeURIComponent к нему.

...