我想爲科爾多瓦使用ZeroConf插件。 我以前從未使用任何Cordova插件。科爾多瓦插件undefined
這些都是我做的步驟:
cordova create myApp
cordova platform add android
cordova platform add ios
cordova platform add browser
cordova plugins add https://github.com/cambiocreative/cordova-plugin-zeroconf
之後,我改變了默認onDeviceReady
功能,使 「index.js」 文件(在myApp/www/
目錄)看起來如下:
var app = {
...
onDeviceReady: function() {
app.receivedEvent('deviceready');
if(cordova && cordova.plugins) {
console.log('cordova.plugins is available');
} else {
console.log('cordova.plugins NOT available');
}
},
...
};
app.initialize();
不幸的是,它總是記錄「cordova.plugins not available」。我首先檢查是否存在cordova
,但確實如此,但是cordova.plugins
未定義。請注意,我在瀏覽器(cordova run browser
)中測試此問題以找出問題,一旦cordova.plugins
不再被定義,我將能夠使用ZeroConf插件。
我搜索了幾個小時,看了很多類似的話題,但沒有人可以幫助我。
我的嘗試:
cordova plugin ls
- > ZeroConf的插件存在com.cambiocreative.cordova.plugin.zeroconf 1.0.9 "Cordova ZeroConf Plugin"
證實
index.html
負荷cordova.js
腳本我編輯的3210文件(
myApp/www/config.xml
)並添加了<plugin name="com.cambiocreative.cordova.plugin.zeroconf" version="1" />
,但這沒有幫助。也試過<feature name="ZeroConf"><param name="android-package" value="com.cambiocreative.cordova.plugin.ZeroConf" /><param name="onload" value="true" /></feature>
沒有成功。
這是在其中我包括在index.html
腳本(在myApp/www/index.html
)的順序爲:
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
編輯:我試圖直接從「zeroconf.js」文件訪問ZeroConf
對象,不成功。
我編輯onDeviceReady
功能:
onDeviceReady: function() {
app.receivedEvent('deviceready');
var el = document.getElementById("zcOK");
if(typeof ZeroConf !== 'undefined') {
el.innerHTML = "ZEROCONF READY";
} else {
el.innerHTML = "ZEROCONF NOT READY";
}
}
但這顯示「ZEROCONF NOT READY」 ......
這是我的指數目前看起來怎麼樣(我只加與id="zcOK"
一個段落顯示以上)。
<p id="zcOK">ZeroConf test</p>
<!-- ORDER IN WHICH THE SCRIPTS ARE LOADED -->
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="../plugins/com.cambiocreative.cordova.plugin.zeroconf/www/zeroconf.js"></script>
<script type="text/javascript" src="js/index.js"></script> <!-- Contains the onDeviceReady function -->
不過,現在我不知道「ZeroConf的」是不確定的,因爲有一些問題的插件或因爲它不會是從「index.js」中訪問,因爲它被列入「指數.html「?
cordova插件在瀏覽器中不工作;您必須在設備或設備模擬器上測試它們。 –
@GeorgeStocker謝謝,我正在想那樣的事情。然而,我也在iPhone模擬器中做了測試(通過運行cordova製作的xcode項目並顯示'cordova.plugins'的值,但它也是'undefined')。 – HyperZ