Twitter消息末尾出现奇怪的斜杠

9
我正在使用以下代码展示一个带有Twitter框已填写信息的页面: ```html

我正在使用以下代码展示一个带有Twitter框已填写信息的页面:

```
<a href="http://www.twitter.com/share.php?url=http://myurl.com&text=myMessage" target="_blank">Click me</a>

然而,在页面上,我在Twitter框内看到了这个:
myMessage/

请注意斜杠后的空格。有什么办法可以解决这个问题吗?
4个回答

9
我们已经找到了一个解决方法,即在 Twitter 地址的结尾处添加 source=webclient 参数。关键是要将其添加到地址的最后。这样做后,Twitter 就不会再添加尾随斜杠。但是,考虑到 Twitter 喜欢改变其格式和代码,不能保证这种方法将永远有效 :-)
例如...
<a href="https://twitter.com/intent/tweet?text=http://www.rsc.org%2FEducation%2FEiC%2Fissues%2F2013January%2F50th%2Delement%2Dtin%2Easp&amp;source=webclient" target="_blank">Twitter this</a>

你是怎么发现的?这太奇怪了! - Karol
这太蠢了!!!我正在分享一个看起来像 http://website.com/page?info=data 的 URL。当然,我不能在 data 后面添加斜杠,这会破坏我的 URL!:( - Mike Keskinov

5
不,解决方案更简单。对你的网址进行URL编码即可:
https://twitter.com/intent/tweet?text=myMessage&url=http%3A%2F%2Fmyurl.com

1
不行。我的URL编码后,问题仍然存在。需要添加尾随斜杠,但这并不总是可能的(如果我有get参数,我无法在它们之后添加斜杠)。 - Mike Keskinov

3
在您的URL末尾添加一个斜杠,这个问题就会消失。这对我有效。
将URL从这个更改:
http://www.twitter.com/share?url=http://myurl.com&text=myMessage

转换为:

http://www.twitter.com/share?url=http://myurl.com/&text=myMessage

2
根据Twitter文档( twitter原始参考)所述:

具有HTTP或HTTPS方案并进行URL编码的完全合格 URL。

完全限定的URL需要具有尾随斜杠。 来自相同文档的示例:

示例值:http:% 3A%2F%2Fexample.com%2F

请注意,示例在末尾有%2F,这是HTML编码的/ 字符。Twitter会自动附加/以创建正确的URL。
将您的url GET参数设置为http://myurl.com/ 以摆脱尾随斜杠。

这个很好用。对于像我一样两年后才发现这个问题的人,请尝试一下。我正在动态共享,使用window.location.origin,它不会在URL中添加尾随斜杠,导致Twitter在我的推文消息中添加了一个斜杠。然而,使用window.location.origin + '/'就可以解决问题了。 - Martavis P.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接