2011-06-22 41 views
20

Twitter的鳴叫按鈕,我同時使用Twitter的鳴叫按鈕,像按鈕Facebook的喜歡並引起跨域問題

<a href="http://twitter.com/share" 
    class="twitter-share-button" 
    data-url="http://example.com" 
    data-text="some text" 
    data-count="horizontal" 
    data-via="someone">Tweet 
</a> 
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> 

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> 
<fb:like 
    class="fbShare" 
    href="http://example.com" 
    font="" send="true" 
    layout="button_count" 
    show_faces="false"> 
</fb:like> 

但他們兩人都吐出跨域錯誤,而不是一個或兩個臉譜,但不斷。

實際誤差(與替代)是

不安全的JavaScript嘗試訪問 框架與URL https://www.facebook.com/plugins/like.php?channel_url=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%23cb%3Df3cde04b84%26origin%3Dhttp%253A%252F%252Fexample.com%252Ff20b9fb1fc%26relation%3Dparent.parent%26transport%3Dpostmessage&href=http%253A%252F%252Fexample.com%252F&layout=button_count&locale=en_US&node_type=link&sdk=joey&send=true&show_faces=false&width=150 從框架與URL http://example.com/。域, 協議和端口必須匹配。

不安全JavaScript嘗試訪問 幀與URL http://platform0.twitter.com/widgets/tweet_button.html?_=1308700896075&count=horizontal&id=twitter_tweet_button_0&lang=en&original_referer=http%3A%2F%2Fexample.com%2F&text=some文本& URL = HTTP%3A%2F%2Fexample.com%2F &經由=有人 從幀與URL http://example.com/。域, 協議和端口必須匹配。

+0

你試過只具有頁面上其中一個,看它是否可能只導致此的人嗎? –

+0

是的,這不是:/ – Hailwood

+1

確定你沒有在頁面上嘗試枚舉所有iframe並訪問它們的其他插件?我以前見過這種情況。 –

回答

28

這似乎是一個Twitter按鈕代碼的bug,你可能想用Twitter登錄。它似乎試圖遍歷頁面上的每個dom對象,並且無法訪問Facebook iframe對象。例如,如果您還添加了Google +1按鈕,它現在會爲Google相關網址投放另外一條類似消息。

功能似乎沒有受到影響,所以我會忽略它。使用此推文按鈕的任何網站以及來自不同服務器(例如Facebook/G +按鈕)的另一個iframe也會有相同問題(例如,嘗試使用mashable.com上的任何頁面)。如果你不想忽略它,你可以刪除Twitter的JavaScript參考,並創建一個自定義的按鈕,如Tweet button page所述,通過使用JavaScript來彈出這種網址格式:http://twitter.com/share?url=http%3A%2F%2Fdev.twitter.com%2Fpages%2Ftweet-button,其缺點是,推特計數將不會顯示在您的網頁上。