2011-12-16 95 views
8

我有一個Facebook Like按鈕的實現,它在所有瀏覽器桌面和移動設備上渲染都很好。但問題在於分辨率爲240x320的低分辨率設備。 Like按鈕導致設備放大頁面,從而呈現水平滾動。Facebook Like按鈕導致移動設備上的水平滾動

按鈕在寬度> = 320像素的設備上像iPhone等一樣渲染效果很好,但寬度小於此值的較老的android設備正面臨問題。

我看到它的方式。頁面加載正常,然後對Facebook進行服務器調用,然後返回一些參數,將其全部分解。它正在生成。我試圖把widthoverflow CSS參數,但似乎沒有工作。我正在初始化Like按鈕,如下所示:

<div id="fb-root"> 
<!--Facebook begins-->  
     <div class="fb-like" data-href="<%=RedirectURL%>" data-send="false" data-layout="button_count" width="80" data-show-faces="false"></div> 
     <!-- ends --> 
</div> 

<script> 
     window.fbAsyncInit = function() { 
      FB.init({ appId: '328982000461228', status: true, cookie: true, 
       xfbml: true 
      }); 
      FB.Event.subscribe('edge.create', function (response) { 
       ntptEventTag('ev=Social&Action=Method Shared'); 
      }); 
     }; 
     </script> 
    <script type="text/javascript"> 

回答

4

以上解決方案的幫助。終於得到了答案。雖然這不是最好的解決方案,但它可以完成工作。

我申請這個像按鈕FB的父容器:

.socialIcons { display: inline-block; width: 200%; /* for low res androids */ overflow: hidden; margin: 5px 0 5px 10px; } 
3

Facebook Like Button自動在頁面上生成一個iframe。嘗試設置寬度if iframe與CSS或動態JavaScript。 iframe具有class =「fb_ltr」。

+0

不能做。我嘗試通過JavaScript來做到這一點。但類似的按鈕使服務器調用Facebook。之後它的所有相同的故事。 – amit 2011-12-16 13:30:58

4

將你喜歡的按鈕放入div並在該div上應用溢出隱藏式樣式。
UDATE:試着設置隱藏在html和body標籤上的溢出(對fb頁面標籤有很大的區別)。

代碼片段,你也可能會發現有用的是這樣的:

<meta name="viewport" content="width=320,user-scalable=false" /> 
<style type="text/css"> 
    body { 
     -webkit-touch-callout: none; 
     -webkit-user-select: none; 
     -webkit-user-modify: none; 
     -webkit-highlight: none; 
     -webkit-user-select: none; 
    } 
</style> 
+0

視口如果設置爲320px,會對低分辨率設備造成問題。不建議。和溢出:隱藏我已經實施。不工作。 – amit 2011-12-16 15:47:48

2

您是否在同一個低分辨率瀏覽器上檢查了其他常規網站?檢查twitter.com,如果滾動條在瀏覽器中仍然出現問題(我遇到類似的情況),瀏覽器全屏的定義總是大於可用寬度,我最終不得不在內定義一個「div」特定寬度(320px)的身體並將其中的內容轉儲除了使身體溢出:隱藏

3

檢測低分辨率設備,並使用其他類似按鈕佈局更適合它。

那一個是:

data-layout="box_count" , 

,將採取雖然稍更多的垂直空間,這是罰款。

  • button_count

enter image description here

  • box_count

enter image description here

-2

這是最簡單的事情對我來說,適用於iOS Safari瀏覽器,如果你同時使用:

html, body {overflow-x: hidden;}