我想为科尔多瓦使用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