Twitter分享按钮显示空白页面.为什么
Twitter share button shows blank page. Why?
我想在博客帖子上分享我的twitter按钮。它在20个职位中的18个工作得很好。只有2个岗位有问题。单击按钮时出现空白窗口,没有文本,url和via等…
<<p> url/strong>- 迪士尼《小美人鱼》宣布全国巡演
- MLB场馆-球队的状态如何影响他们主场的票价
我的代码是好的还是这里发生了什么?
.tweet{ margin:0px auto; width:200px; text-align:center;}
.tweet a{ display:inline-block; line-height:50px; color:#f00; text-decoration:none; background:#ccc; border-radius:5px; padding:0px 20px;}
<div class="tweet">
<a title="Twitter" href="//twitter.com/intent/tweet?share=" onclick="tweetShare=window.open(this.href+escape(window.location)+'&text='+escape(document.getElementsByTagName('title')[0].innerHTML)+'&url='+location.href+'&via=ExciteEventstix','tweetShare','toolbar=no,status=no,width=640,height=400,scrollbars=no'); return false;"
target="_blank">Twitter</a></div>
查看Chrome开发者控制台,你会发现twitter服务器返回了一个400错误。这是因为您没有正确地编码url(特别是title
参数)。
注意Disney
后面的%u2019
字符。它是一个编码的unicode字符。实际上twitter希望你将其编码为UTF-8。
text=National%20Tour%20Announced%20for%20Disney%u2019s%20The%20Little%20Mermaid
解决方案是使用encodeURIComponent()
代替escape()
。下面的代码应该可以正常工作:
<div class="tweet">
<a title="Twitter" href="//twitter.com/intent/tweet?share=" onclick="tweetShare=window.open(this.href+encodeURIComponent(window.location)+'&text='+encodeURIComponent(document.getElementsByTagName('title')[0].innerHTML)+'&url='+location.href+'&via=ExciteEventstix','tweetShare','toolbar=no,status=no,width=640,height=400,scrollbars=no'); return false;"
target="_blank">Twitter</a></div>
无论如何escape()
已被弃用,所以请尝试encodeURIComponent
。
- 在推特按钮文档中没有
-
document.title
和document.getElementsByTagName('title')[0].innerHTML
一样完美。 - 如果不使用,不要创建额外的全局变量
tweetShare
。
share
参数支持。url
就够了。所以可以简化为:
<div class="tweet">
<a title="Twitter" href="javascript:window.open('https://twitter.com/intent/tweet?url='+encodeURIComponent(location.href)+'&text='+encodeURIComponent(document.title)+'&via=ExciteEventstix','tweetShare','toolbar=no,status=no,width=640,height=400,scrollbars=no')">Twitter</a></div>
相关文章:
- 为什么我的javascript地理编码函数返回空白结果
- 为什么我的网站在IE中是空白屏幕?(包括IE9!
- 为什么页面在javascript:window.open之后出现空白并带有“[Object]”
- 为什么我在所有HTML内容下面都有一个很大的空白
- 为什么这段代码给我空白页
- 为什么我的 JavaScript 提升的局部变量返回未定义,但提升的全局变量返回空白
- 为什么在尝试在 javascript 中对 URI 组件的保留字符进行编码时出现空白 %3 字符
- 为什么我的画布是空白的,除了在角落里
- 为什么当我在 Emberjs 中最后用“id”刷新 url 时,我得到一个空白应用程序
- 为什么谷歌地图容器在此设置中突然加载为灰色空白
- 为什么下面的$scope在此函数中变为空白
- 为什么pegjs无法处理空白规则""*
- 为什么在写入新的空白窗口时不能保存页面
- 为什么我的jquery.load()状态为空白
- 为什么这个Meteor示例应用程序只显示一个空白页面
- 为什么可以't我在浏览器中运行一个空白的Cordova应用程序:您可能没有运行此项目所需的环境或操作系统
- 为什么JavaScript正则表达式在我没有告诉它的情况下捕捉空白
- 为什么存在空白/“;“重叠”;在rect元素之间应该有'不要
- 为什么空白警报语句会影响其他代码的执行
- 为什么't trim()不能处理$ ?用于删除字符串数组中的空白