Javascript Phonegap插件错误

Javascript Phonegap插件错误,javascript,jquery,html,phonegap-plugins,phonegap-build,Javascript,Jquery,Html,Phonegap Plugins,Phonegap Build,我正在尝试构建一个手电筒应用程序,但它在我的设备上不起作用,在Firebug中,我有一个奇怪的错误: ReferenceError: cordova is not defined cordova.addConstructor(Flashlight.install); 我使用插件 我的代码索引.html <div id="button2" class="button1">Click!</div> 插件代码: function Flashlight() { // t

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

ReferenceError: cordova is not defined 
cordova.addConstructor(Flashlight.install);
我使用插件

我的代码索引.html

<div id="button2" class="button1">Click!</div>
插件代码:

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的引用。另外,等待deviceready事件触发。

嘿,Eddy,我正在使用phoneGap Build使用相同的插件制作手电筒应用程序。但是运气不好,你能帮我吗。我也有同样的问题。我在脚本中包括Phonegap.js,在src文件夹中也包括Flashlight.js和java文件;iAvailable函数在Android上总是返回false,我希望新版本能尽快获得批准。同时,请使用1.0版本或省略isAvailable检查。
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);