По какой-то причине я получаю дополнительный код в своем кодированном URI с помощью функции javascript encodeURIcomponent, а именно символа% 25:
Моя функция:
function twit_click() { var u="https://www.website.com/<?php echo $_SESSION['id'];?>"; var t="sometext"; window.open('http://www.twitter.com/share?url='+encodeURIComponent(u)+'&text='+encodeURIComponent(t),'twitsharer','toolbar=0,status=0,width=626,height=436'); return false; }
когда я нажимаю на текст и вызываю функцию twit_click (), я получаю следующий URL:
http://twitter.com/intent/tweet?text=sometext&url=https%253A%252F%252Fwww.website.com%252Fuserid
в отличие от того, что должно быть:
http://twitter.com/intent/tweet?text=sometext&url=https%3A%2F%2Fwww.website.com%2Fuserid
я что-то упустил? Это добавление дополнительных «25» символов, которые означают, что у меня есть% в моем URI, который я явно не делаю.
Удалите «www» из «www.twitter», и это работает.
http://jsfiddle.net/tzkpz/
Twitter должен перекодировать URL-адрес при перенаправлении с www.twitter.comна twitter.com, следовательно, двойная кодировка.