Twitter @Anywhere API的替代品?

时间:2011-11-26 05:18:32

标签: performance twitter twitter-anywhere

我试图通过Twitter使用@anywhere API在我的网站上放一个推文框。虽然这种方法很好并且设置简单,但它有以下问题:

使用@anywhere还有其他选择吗?

编辑:这是我的代码..

<div id="twitter_widget">
        <script src="http://platform.twitter.com/anywhere.js?id=**MYAPPID**&v=1"></script>
        <script type="text/javascript">
        twttr.anywhere(function (T) {
            T("#twitter_widget").tweetBox({
            label: "<span style='display:block !important;margin-bottom:5px !important;font-family:Helvetica Neue !important; color: #CCC !important; font-size: 18px !important; font-weight: 500 !important;'>Tweet</span>",
            height: 100,
            width: 300,
            defaultContent: ""
            });
        });
        </script>
        <button class="check-twitter" onclick="window.open('http://www.twitter.com','_blank');">Go to Twitter</button>
    </div>

3 个答案:

答案 0 :(得分:1)

我不知道@anywhere的替代品。但我不相信3s / 14请求会影响你。

来自Twitter的文档 -

  

“@Anywhere功能的所有依赖项都是异步加载的,   按需以便不影响主页的性能“

简而言之,这意味着您的网页几乎与Twitter的图书馆分离。即使Twitter的小部件需要很长时间才能加载,用户应该能够使用您的页面。它没有解决“加载14请求”问题,但它确保Twitter的性能问题不会成为你的。

请注意,我上面说的几乎。作为一部分加载外部脚本会降低整个站点的速度。如果Twitter的服务器遇到问题,可能会导致Front End Single Point of Failure

更新:Per Twitter, loading anywhere.js asynchronously isn't supported。我在下面提到的解决方案可能适用于您,也可能不适合您,请谨慎行事。

<击> 因此,我能想出的最佳解决方案是异步加载anywhere.js本身。如果您使用的是jQuery,代码会喜欢这个 -


//Assumes jQuery was loaded

jQuery.getScript("http://platform.twitter.com/anywhere.js?id=&v=1", function(data, textStatus) {
twttr.anywhere(function (T) {
            T("#twitter_widget").tweetBox({
            label: "Tweet",
            height: 100,
            width: 300,
            defaultContent: ""
            });
        });
});


在结束</head>之前放置此代码。它将异步加载anywhere.js,并且仅在js加载后调用twitter的函数。

<击>

答案 1 :(得分:1)

如果你想使用@anywhere,你就无法做很多事情。我一开始就注意到了随机的事情(比如停机时间和什么都没有)。但通常 platform.twitter.com 应该足够快,因为它是由Akamai提供的。

你是如何确定它的三秒钟,究竟需要三秒钟?整个页面,或只是加载外部JS等?

您唯一的其他选择是使用不依赖于包含第三方代码的其他选项。这是唯一的快速选择。第三方网站总是很慢,除非有一个保证可用性和性能的SLA。

答案 2 :(得分:1)

另一种方法是让您的网站成为Twitter客户端。这要求你支持oAuth&amp; twitter API。