2011-08-25 181 views
17

是否有專門的Facebook和Twitter移動版分享網址? 或者它們與網站上的相同?面向移動網絡的Facebook和Twitter分享

使用

<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script> 
<a href="javascript:return false;" rel="nofollow" onclick="window.open('https://twitter.com/share?text=sometext&url=someurl', 'Twitter', 'toolbar=0,status=0,width=626,height=436')">Twitter</a> 

對Twitter和

<script> 
    function fbs_click() 
    { 
     u='www.something'; 
     t='title'; 
     window.open('http://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436'); 
     return false; 
    } 
</script> 

<a rel="nofollow" href="http://www.facebook.com/sharer/sharer.php?u=someurl" onclick="return fbs_click()" target="_blank" class="">Facebook</a> 

爲Facebook。

回答

26

您的共享實現應該是相同的,只要您的移動用戶擁有支持JavaScript的設備或者呈現JavaScript,就應該可以工作。否則,您可以使用每個平臺的API網址在鏈接內共享,唯一的問題是回調會將其重定向到Twitter或Facebook,並且必須手動返回到您的網站。該鏈接如下:

在Facebook上分享:

http://m.facebook.com/sharer.php?u=<urlencoded url>t=<urlencoded title> 

例如:在Twitter上

http://m.facebook.com/sharer.php?u=http://www.google.com 

更新狀態:

http://mobile.twitter.com/home?status=<urlencoded status> 
+0

這就是冷卻。我甚至不需要JavaScript的工作? – resting

+0

沒有。這種方式更好,因爲它也使您可以訪問所有非智能手機。 – Simpleton

+0

「圖像」和「摘要」需要什麼參數? – Mateng

11

關於心眼的答案有兩點要注意。

  1. http://m.facebook.com/sharer.php URL可能不是你想要的。您在u查詢參數中提供的站點需要在頁面中包含一些標記,以便共享 頁面非常有趣。只要嘗試在Google以外的其他網址中查看我的意思。我從來沒有真正能夠找出它在網站的頁面中尋找什麼,以顯示你的共享頁面中有用的東西。我沒有看到任何提供有關您分享的網站的額外信息的方式。

  2. 經t查詢參數不再被Facebook遠讀,我可以告訴

  3. 我發現Facebook的飼料對話框是一個更好的替代共享(https://developers.facebook.com/docs /參考/對話框/進料/)。查看該頁面底部的示例,瞭解可共享的信息。將示例網址粘貼到您的瀏覽器中,以查看它的外觀。您可以使用參數來查看每個參數在帖子中控制的內容。例如,如果您不提供標題參數,則似乎使用鏈接參數的基本URL。要使用提要對話方法,您需要在Facebook上註冊您的應用程序以獲取您需要包含在提要對話框URL中的app_id。您還將您的應用與網站網址相關聯,您也可以在Feed對話框URL中使用該網址。如果您希望Facebook爲您提供適合移動設備的網頁,請將& display = touch添加到Feed對話框網址的末尾。最後,你必須在用戶被重定向的地方提供redirect_uri參數(包括作爲查詢參數的帖子ID),所以你必須在該URL有一些東西來處理響應。

  4. 關於http://mobile.twitter.com/home?status的URL,我學到了一些東西:首先,任何包含在狀態中的URL都不會被縮短(令人失望);其次,如果您的狀態包含任何單引號,則它們將被編碼爲&#39(HTML實體代碼),但在發佈推文時不會被解碼。但是,如果您使用相同的URL通過桌面進行發佈,則不會發生這種情況。你可以看到我所說的來自你的iPhone嘗試以下網址(我用的是iPhone上的Safari),然後從你的桌面的意思(我使用Safari):

http://mobile.twitter.com/home?status=Wayne's%20World

注意,我對狀態做一個javascript encodeURI,但大多數URL/I編碼器通常不使用單引號進行編碼。有一些將用%27替換單引號,但我嘗試手動插入,並且它仍然沒有在狀態文本中解碼。

我希望這些信息可以幫助有人來這裏尋找簡單的Facebook和Twitter分享選項。

+0

從Facebooks瀏覽器內部http://m.facebook.com/sharer.php鏈接之後,將打開應用程序共享器對話框而不是html版本。這似乎不是SDK的情況。 –

3

該網址是好的,但你需要在你的服務器上做一些工作才能讓Facebook看起來很體面。 Facebook現在使用「Open Graph」,它允許你在你的網頁上添加特殊的標籤,Facebook可以理解。您可以定義頁面上的媒體類型,甚至可以將您自己的對象添加到您在Facebook應用程序中創建的定義中。開發者Open Graph對象頁面的鏈接是。

的Open Graph的詳細信息頁面上的一個樣品可能是這樣的:

<meta property="fb:app_id"   content="YOUR FACEBOOK_APP_ID }}" /> 
<meta property="og:url"    content="The URL that this page is on" /> 
<meta property="og:site_name"   content="Your domain" /> 
<meta property="og:title"    content="Title of your page" /> 
<meta property="og:type"    content="This is very important - it is how 
    Facebook refers to your post. Image, video, text, etc. Even custom stuff is 
    possible" /> 
<meta property="og:image"    content="image url for facebook to display on 
the user's wall" /> 
<meta property="og:determiner"  content="auto" /> 
<meta property="og:description"  content="A description you want with this 
content" /> 

等。這一切都在您提供給Facebook的實際網址頁面的<head>。然後Facebook會將其轉化爲適當的文章。另外,您需要在應用程序開發者頁面上設置Open Graph,以便Facebook知道尋找og:標籤。這很複雜,但確實有效。

祝你好運!

5

Twitter的 - 這是我如何解決了推文網址爲所有設備/瀏覽器問題:

http://twitter.com/intent/tweet?text= + encodeURIComponent(tweet); 

encodeURIComponent方法 - 是一個內置的JavaScript函數,解釋here

'http://mobile.twitter.com/home?status='不受支持,並且當twitter請求登錄時您將得到編碼問題。

Facebook的 - 對於Facebook分享我用Facebook API example

+0

不錯,這種格式是Twitter重定向到其他(我猜不推薦)API調用 – Larry

+0

謝謝。這個對我有用。 – Kabkee