Twitter分享encodeURIcomponent斗争

时间:2017-11-14 21:35:13

标签: javascript twitter urlencode encodeuricomponent

我正在处理一个项目,而且我遇到了encodeURIcomponent函数的问题。该网站是一个社交媒体内容库,允许我将副本存储在CMS中,并将其显示在页面上,其中包含链接和按钮以共享到社交媒体网站。我正在努力使用Twitter组件并需要一些帮助。这是我的代码:



			
			
function tweetClick() {
	var url = "http://urlfromcms.com";
	var text = "I'm getting this text dynamically from the CMS too.";
	window.open('http://twitter.com/share?url='+encodeURIComponent(url)+'&text='+encodeURIComponent(text), '');
			}    			    		    		

<a class="shareitbutton w-button" href="#" target="_blank" title="Tweet" onclick="tweetClick(); return false;">Tweet It!</a>
&#13;
&#13;
&#13;

这就像一个有一个问题的冠军。如果副本有&符号,撇号,引号等,那么它也会被编码,并且需要编辑推文以达到目的。如何进行编码以获得Twitter需要的空格中的%20,但是单独留下我的&符号和撇号?

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您的代码似乎按原样运行。 Twitter非常聪明,可以解码您提供的文本:

enter image description here

enter image description here

答案 1 :(得分:0)

问题是您从CMS获得的文字有encoded html entities

您可以使用this answer

解码text中的HTML实体

然后将解码后的字符串放入window.open调用