11

我試圖在BlackBerry設備中爲Cordova使用BarcodeScanner插件,但沒有運氣。的代碼使得采用這種結構:window.plugins在cordova-2.0.0中未定義

window.plugins.BarcodeScanner... 

window.pluginsundefined

我試着用一個新的新應用程序,並且window.plugins仍然是undefined(我的意思是,沒有任何附加的示例應用程序)。

api是否已經更改,文檔已過時,或者有什麼我不見了?

謝謝!

+0

注意,目前的語法是完全不同的:http://community.phonegap.com/nitobi/topics/_barcodescanner_plugin_upgrading_scanner_javascript_api_code_changes_required – Nux 2013-06-21 16:17:09

+1

「這個問題是不太可能有幫助的任何未來的訪客」;怎麼會有9票和7689觀點? – Spiff 2013-10-23 18:10:15

回答

3

剛剛遇到同樣的問題。在查看窗口對象後,我發現BarcodeScanner正好在那裏。 因此window.BarcodeScanner.prototype.scan(result, error)做到了。 確保您等待cordova完全初始化,否則您可能會得到像has no method exec()

+0

你的意思是,只需調用'window.BarcodeScanner'? – ivowiblo 2012-07-23 15:40:06

+0

是的,這就是爲我工作。如果你'console.log(窗口)'你應該看到'BarcodeScanner' – d2uX 2012-07-23 16:07:53

+0

沒有工作。 'window.BarcodeScanner'也是'undefined'。 – ivowiblo 2012-07-23 20:28:12

8

Cordova 2.0已刪除BarcodeScanner插件使用的「addPlugin」方法。所以速戰速決是刪除(或註釋掉)用於添加插件「addConstructor」功能,並使用顯式連接到窗口對象替換:

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

window.barcodeScanner = new BarcodeScanner(); 

而且,由於「window.plugins 「不用,你也將需要改變調用的代碼‘掃描’的方法,所以用

window.barcodeScanner.scan(... 

更換

window.plugins.barcodeScanner.scan(... 

我與科爾多瓦2.0測試這和它的作品。

+0

但是當我打電話給**窗口的時候。barcodeScanner.scan(... **有時它調用我的插件,有些時候不是.......你可以告訴我爲什麼嗎?並給我** window.barcodeScanner.scan [undefined]不是函數** – 2012-08-08 06:45:06

+0

需要您的代碼樣本來幫助診斷您的問題 – dogatonic 2012-08-20 18:37:50

0

最後,我使用了cordova 1.9.0,因爲插件還不是最新的。

感謝大家!