【发布时间】:2015-05-22 17:39:37
【问题描述】:
我有一个包含 Facebook 和 Twitter 共享按钮的网站。在 Chrome 中加载时,我看到两者,在 IE 和 Firefox 中加载时,我只看到 Facebook 共享。这些按钮使用直接从两个开发者网站生成的代码。具体来说,我生成的推特代码是:
<a id="someID" class="twitter-share-button" data-url="http://correct.url" data-via="" data-text="Some site specific text" href="https://twitter.com/share">Tweet</a>
<script type="text/javascript">
!function (d, s, id)
{ var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https'; if (!d.getElementById(id)) { js = d.createElement(s); js.id = id; js.src = p + '://platform.twitter.com/widgets.js'; fjs.parentNode.insertBefore(js, fjs); } } (document, 'script', 'twitter-wjs');
</script>
在我得到的所有浏览器的控制台中:
从http://platform.twitter.com接收到对象类型的消息, 期望一个字符串
但是 chrome 和 safari 仍然可以加载 Twitter 按钮。 (也许他们会自动将返回的对象转换为字符串)
更多细节:
- 按钮通过 AJAX 加载。我打电话给
twttr.widgets.load();每个 Ajax 调用的结束(除了FB.XFBML.parse();)。 - 我已从浏览器中删除所有插件/插件,但没有发现任何变化。
- 使用 ASP.NET 4.5
- 检查 DOM 我看到了带有 display:hidden 的 twitter iframe
非常感谢任何帮助。
【问题讨论】:
标签: javascript twitter cross-browser twitter-button