2010-07-03 55 views
0

我正在尝试通过JavaScript与Twitter进行交互。我想在用户点击链接时将预设消息传递给用户的Twitter状态页面。试图做到这一点,我有一个链接定义如下:通过JavaScript通过URL传递字符串

<a href="#" onclick="updateTwitterStatus();">Update Status</a> 

<script type="text/javascript"> 
    function updateTwitterStatus() { 
    var message = "This is a status update"; 
    var url = "http://www.twitter.com/home?status=" + escape(message); 
    window.open(url, "_blank"); 
    } 
</script> 

当我执行此代码时,我得到一个编码的消息。显示如下: This%20is%20a%20status%20update

我试过decodeUriComponent和encodeUriComponent,但似乎没有任何工作。我究竟做错了什么?

+1

'encodeURIComponent'应该完成这项工作。 twitter的状态变得乱七八糟了? – 2010-07-03 12:36:00

+0

我认为你的代码是正确的。你确定这不是Twitter取代你的空间吗? – Marko 2010-07-03 12:39:45

回答

0

该问题与编码无关,这很好。 Twitter想要一个“+”而不是“%20”,因为一些奇怪的和不符合标准的原因。

Twitter不允许以这种方式发布到状态页面。这个决定是有道理的:登录到Twitter后,你肯定不想给你访问的任何网站发送垃圾邮件的可能性。

你可能想看看http://dev.twitter.com/pages/libraries#javascript

+0

不正确。 Twitter允许以这种方式发布 - 针对当前登录的用户。 – 2010-07-03 13:31:54

+0

由于我回答中陈述的原因,Twitter不允许以这种方式发布到状态页面。它所做的只是打开编辑页面并将文本放入文本区域。您可能想尝试一下:http://www.twitter.com/home?status=This+message+is+not+posted+to+my+status+page+unless+I+click+on+Tweet。 – 2010-07-03 13:49:36

+0

发帖或准备发帖,我的意思是同样的事情。无论如何,好的电话!我无法再赞成,但取消了投票。 – 2010-07-03 14:41:10