jquery - Cordova:无法调用未定义的方法 'exec'

标签 jquery jquery-mobile cordova phonegap-plugins

我正在使用带有 Cordova/Phonegap 的 Facebook Connect 插件,这里已对此进行了解释( https://github.com/phonegap-build/FacebookConnect )。我已经包含了我的 Facebook SDk js 文件,还包含了 FB Cordova js 文件,我没有包含 Cordova.js 文件本身,因为它似乎已包含在 Ripple Emulator(使用 Ripple 进行测试)中,当我想调用登录​​名时Facebook JS 文件中的方法我在 try-catch block 中遇到异常:“无法调用未定义的方法‘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 开发工具中,我在正在调用的函数的调用堆栈 [ native 代码] 中看到这可能是原因,这是否意味着我必须在设备上进行测试?

如有任何建议,我们将不胜感激。

最佳答案

当您使用 Ripple 模拟器测试页面时,您应该包含 cordova.js 文件。 Ripple模拟器仅模拟移动环境,您仍然需要定义Cordova对象的cordova.js文件。

Phonegap 插件使用 Cordova.exec 从 javascript 调用 native 方法。您的 Facebook 插件也将使用该方法来进行 native 方法调用。另请确保在页面中的 facebook 插件 js 文件之前包含“cordova.js”。

关于jquery - Cordova:无法调用未定义的方法 'exec',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17851737/

相关文章:

jquery - HTML Bootstrap 3 不向 UL LI 添加事件类

javascript - Dojo slider 设置值问题

带有 rel 值的 jQuery 过滤器选择菜单

jquery - 带有方形图像的网格布局( overflow hidden )

jquery-mobile - jQuery Mobile中的对话框关闭事件

android - 在 android phonegap 应用程序中创建快捷方式

jquery - 需要添加选择列表的总计,如果去掉则减去

php - 使用 Ajax 和 PHP 更新表单中的 JQuery Mobile 选择菜单

javascript - 通过 App Store 更新基于 Cordova/Phonegap 的应用程序 "crashes"

javascript - angular-google-maps TypeError : $scope. map.control.refresh 不是函数