Window.plugins undefined в кордове-2.0.0

Я пытаюсь использовать плагин BarcodeScanner для Кордовы на устройстве BlackBerry без везения. В примере кода используется эта структура:

window.plugins.BarcodeScanner...

но window.plugins - undefined.

Я попробовал новое новое приложение, а window.plugins продолжает undefined (я имею в виду, пример приложения без добавления).

Изменено ли api и устаревшая документация или что-то мне не хватает?

Спасибо!

Ответ 2

Cordova 2.0 удалил метод addPlugin, используемый плагином BarcodeScanner. Поэтому быстрым решением было бы удалить (или закомментировать) функцию "addConstructor", используемую для добавления плагина, и заменить ее явным приложением к объекту окна:

//cordova.addConstructor(function() {
//    cordova.addPlugin('barcodeScanner', new BarcodeScanner());
//});

window.barcodeScanner = new BarcodeScanner();

Затем, поскольку "window.plugins" не используется, вам также потребуется изменить код, который вызывает метод "scan", поэтому замените

window.plugins.barcodeScanner.scan(...

с

window.barcodeScanner.scan(...

Я тестировал это с помощью Cordova 2.0, и он работает.

Ответ 3

Просто столкнулся с той же проблемой. Изучив оконный объект, я обнаружил, что BarcodeScanner находится прямо там. Так что window.BarcodeScanner.prototype.scan(result, error) сделал трюк. Убедитесь, что вы ожидаете полной инициализации кордовы, иначе вы можете получить такую ​​же, как has no method exec()

Ответ 4

Наконец, я использовал cordova 1.9.0, поскольку плагины еще не обновлены.

Спасибо всем!