我正在使用Facebook Connect插件與Cordova/Phonegap在這裏解釋(https://github.com/phonegap-build/FacebookConnect)。我已經包含了我的Facebook SDK js文件,還包括FB Cordova js文件,我沒有包含Cordova.js文件本身,因爲它似乎已經包含在Ripple Emulator(Testing with Ripple)中,當我調用登錄方法在Facebook的JS文件,我得到的try-catch塊的異常:「不能調用方法'的未定義」Cordova:不能調用未定義的方法'exec'
EXEC這裏是我的代碼
document.addEventListener('deviceready', function() {
try {
alert('Device is ready! Make sure you set your app_id below this alert.');
FB.init({ appId: "appid", nativeInterface: CDV.FB, useCachedDialogs: false });
document.getElementById('data').innerHTML = "";
} catch (e) {
alert(e);
}
}, false);
從Chrome瀏覽器開發工具snaphot,我在調用的函數中看到調用堆棧[native code],這可能是原因,這是否意味着我必須在設備上測試?
任何建議,將不勝感激。
Cordova調用本地方法,這是爲什麼我在Ripple模擬器中得到這個錯誤的原因,這是否意味着Ripple不能提供硫原生方法 – kolexinfos
我不這麼認爲。本機通話全部由Ripple模擬。插件js將不得不在'Cordova'對象上調用exec方法。但是,如果cordova.js在此之前不包含,那麼'Cordova'將會是未定義的,因此您將獲得未定義的'Can not call method'exec'。 – Tamillharasan
你是一個正確的,似乎有與科爾多瓦/ phonegap環境使用正確的版本(2.0.0)在Ripple不兼容問題解決了問題 – kolexinfos