我有一个包含 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
任何帮助是极大的赞赏。