Совместное использование URL-адреса со строкой запроса в Twitter

Я пытаюсь поместить ссылку для общего доступа в Twitter в электронное письмо. Поскольку это электронное письмо, я не могу полагаться на JavaScript и вынужден использовать кнопку «Создать свой собственный» для твита.

Например, отправка ссылки на Google:

<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>

Это отлично работает. Проблема, с которой я сталкиваюсь, заключается в том, что URL-адрес имеет строку запроса.

<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>

URL-адреса со строками запроса сбивают с толку службу сокращения URL-адресов Twitter, t.co. Я пробовал кодировать URL-адрес разными способами и не могу заставить ничего работать. Самое близкое, что я получил, - это сделать это.

<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>

Здесь я закодировал только строку запроса. Когда я это делаю, t.co успешно сокращает URL-адрес, но после перехода по сокращенной ссылке вы попадаете на закодированный URL-адрес. Я вижу http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456 в адресной строке и получаю следующую ошибку в браузере

Не найдено

Запрошенный URL /foo.htm?bar=123&baz=456 не был найден на этом сервере.

Я не знаю, как решить эту проблему.

Изменить: Re: onteria_

I Пробовал кодировать весь URL. Когда я это делаю, в твите не отображается URL.

99
задан haydenmuhl 1 June 2011 в 22:23
поделиться

1 ответ

Я ссылаюсь на все методы.

Кодируют запрос, дважды быстрое решение.

const query = a=123&b=456;
const url = `https://example.com/test?${encodeURIComponent(encodeURIComponent(query),)}`;


const twitterSharingURL=`https://twitter.com/intent/tweet?&url=${url}`
0
ответ дан 24 November 2019 в 04:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: