Phonegap插件错误

Phonegap plugin error

本文关键字:错误 插件 Phonegap      更新时间:2024-04-02

我正在尝试构建一个手电筒应用程序,但它在我的设备上不起作用,在Firebug中我有一个奇怪的错误:

ReferenceError: cordova is not defined 
cordova.addConstructor(Flashlight.install);

我使用https://build.phonegap.com/plugins/294插件

我的代码index.html

<div id="button2" class="button1">Click!</div>

我的代码flashlightexec.js

$("#button2").live('click', function(){
    window.plugins.flashlight.available(function(isAvailable) {
      if (isAvailable) {
        window.plugins.flashlight.switchOn();
        alert("ok");
      } else {
        alert("Flashlight not available on this device");
      }
    });
});

插件代码:

function Flashlight() {
  // track flashlight state
  this._isSwitchedOn = false;
}
Flashlight.prototype = {
  available: function (callback) {
    cordova.exec(function (avail) {
      callback(avail ? true : false);
    }, null, "Flashlight", "available", []);
  },
  switchOn: function (successCallback, errorCallback) {
    this._isSwitchedOn = true;
    cordova.exec(successCallback, errorCallback, "Flashlight", "switchOn", []);
  },
  switchOff: function (successCallback, errorCallback) {
    this._isSwitchedOn = false;
    cordova.exec(successCallback, errorCallback, "Flashlight", "switchOff", []);
  },
  toggle: function (successCallback, errorCallback) {
    if (this._isSwitchedOn) {
      this.switchOff(successCallback, errorCallback);
    } else {
      this.switchOn(successCallback, errorCallback);
    }
  }
};
Flashlight.install = function () {
  if (!window.plugins) {
    window.plugins = {};
  }
  window.plugins.flashlight = new Flashlight();
  return window.plugins.flashlight;
};
cordova.addConstructor(Flashlight.install);

我应该改变什么才能使手电筒工作?也许还有另一种解决方案&

我认为在包含plugin.js文件之前,您需要在index.html中添加对cordova.js的引用。此外,请等待设备就绪事件启动。