2015-05-18 47 views
0

我想在我的混合應用中使用Facebook javascript SDK插件集成Facebook「like」按鈕。該「like」按鈕完美的作品上的瀏覽器,但像按鈕不會顯示出來,當我生成項目與Phonegap 3.7.0Android(5.0)iOS(8.1.2)Phonegap + Facebook

我嘗試這樣運行:https://github.com/Wizcorp/phonegap-facebook-plugin/blob/master/platforms/pg-build/README.md但仍然沒有像按鈕.. 。

我希望有人能幫助我,提前

謝謝!

HTML:

<head> 

    <meta charset="utf-8" /> 
    <meta name="viewport" content="initial-scale = 1.0"> 

    <script src="js/cordova/cordova.js" type="text/javascript"></script> 
</head> 

<body> 

    <!-- Facebook SDK plugin --> 
    <div id="fb-root"></div> 


    <div class="uitje_detail_bot_content"> 
     <div class="uitje_detail_social_media"> 
      <table> 
       <tr> 
        <td> 
         <div class="fb-like" data-href="http://www.mamyloe.nl/uitjes/{{uitje.id}}" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div> 
        </td> 
        <td> 
         <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.mamyloe.nl/uitjes/{{uitje.id}}" data-text="{{uitje.title}} |" data-via="httpstwittercommamyloe" data-size="large" data-count="none">Tweet</a> 
        </td> 
       </tr> 
      </table> 
     </div> 
    </div> 

</body> 

的Javascript:

function getFacebook() { 
window.fbAsyncInit = function() { 
    FB.init({ 
     appId: 'xxx', 
     xfbml: true, 
     version: 'v2.3' 
    }); 
}; 

(function (d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) { 
     return; 
    } 
    js = d.createElement(s); 
    js.id = id; 
    js.src = "//connect.facebook.net/nl_NL/sdk.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));}; 

XML配置:

<gap:plugin name="com.phonegap.plugins.facebookconnect" version="0.9.0"> 
    <param name="APP_ID" value="xxx" /> 
    <param name="APP_NAME" value="Mamyloe app" /> 
</gap:plugin> 

      <access origin="*" /> 

     <feature name="Accelerometer"> 
      <param name="ios-package"  value="CDVAccelerometer" /> 
     </feature> 
     <feature name="Geolocation"> 
      <param name="ios-package"  value="CDVLocation" /> 
     </feature> 
     <feature name="Geolocation"> 
      <param name="android-package" value="org.apache.cordova.geolocation.GeoBroker" /> 
     </feature> 
     <feature name="Camera"> 
      <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" /> 
     </feature> 
     <feature name="Camera"> 
      <param name="ios-package" value="CDVCamera" /> 
     </feature> 
     <feature name="File"> 
      <param name="android-package" value="org.apache.cordova.FileUtils" /> 
     </feature> 
     <feature name="FileTransfer"> 
      <param name="android-package" value="org.apache.cordova.FileTransfer" /> 
     </feature> 
     <feature name="File"> 
      <param name="ios-package" value="CDVFile" /> 
     </feature> 
     <feature name="FileTransfer"> 
      <param name="ios-package" value="CDVFileTransfer" /> 
     </feature> 
     <feature name="org.apache.cordova.facebook.Connect"> 
      <param name="android-package value="org.apache.cordova.facebook.ConnectPlugin" /> 
     </feature> 



     <feature name="http://api.phonegap.com/1.0/camera" /> 
     <feature name="http://api.phonegap.com/1.0/file" /> 
     <feature name="http://api.phonegap.com/1.0/geolocation"/> 
     <feature name="http://api.phonegap.com/1.0/network" /> 

回答

0

@Tim,

我看不到你的CSS。您的HTML中顯然有一個class="fb-like"。您很可能需要將該圖像的URL添加到您的訪問類中。要麼或者更改CSS,以便您可以保持圖像在本地。

但是,我可能是錯的,因爲我看不到CSS。

傑西

+0

嗨傑西, 感謝您的回覆,我不認爲這是一個CSS問題。據我瞭解,讓JavaScript SDK顯示一個按鈕。但是當我在普通瀏覽器和gapdebug中調試應用程序時,我得到了完全不同的元素輸出。當我在移動設備上運行時,我認爲facebook javascript SDK從未執行過。 – Tim

+0

打開你的CSS。尋找類* fb-like *這可能是一個url()。無論你怎麼想,顯然都是錯誤的,因爲你距離解決方案更近。 – JesseMonroy650

+0

但是你的意思是哪個網址?我的CSS中沒有「fb-like」類,我應該放入哪個URL?提前致謝。 – Tim

0

你在你的代碼:

<div class="fb-like" data-href="http://www.mamyloe.nl/uitjes/{{uitje.id}}" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div> 

第一個 「類」,在你的<div>說:「FB樣」。在你的CSS的某個地方,它必須有一個.fb-like如果你不這樣做,這是沒有意義的。

在圖像url(),請參閱:CSS background-image Property

傑西

+0

我試過你的解決方案,但它沒有工作,我的預期。首先,您從Facebook開發者處獲得的JavaScript代碼負責顯示類似按鈕。由於Javascript代碼不能在移動設備上運行,因此沒有按鈕。所以問題是爲什麼Javascript代碼運行在一個通用瀏覽器(例如Firefox)中,而不是當我在Phonegap中構建項目並在移動設備上運行它時。我已經添加了facebook-connect-plugin,它允許您以本地方式使用來自Facebook開發人員的JavaScript代碼。 – Tim

+0

我不知道你說什麼時要做什麼,*(代碼)負責顯示類似按鈕*。有些東西看起來不正確。然而,另一種選擇是Facebook在Javascript中使用了一些不受JavaScript使用的Javascript引擎支持的角落案例。注意:網頁瀏覽器和移動設備的JavaScript差別很大。有可能你碰到了FB尚未命中的JS bug。我將跟蹤這個StackOverflow問題,如果我找到了一些我會回來給你。 – JesseMonroy650

+0

這很好,無論如何謝謝你的幫助:)我也會進一步調查。 – Tim