科尔多瓦 Phonegap 条形码插件无法从我的英特尔 XDK 应用程序启动
Cordova Phonegap Barcode plugin won't launch from my Intel XDK app
我一直在使用英特尔 XDK 构建小应用。我尝试打开Phonegap条形码扫描仪,但是单击启动按钮时没有任何反应。我的目标是扫描二维码并在应用程序浏览器中打开包含结果数据的链接。我安装了设备(cordova-plugin-device(和条形码扫描仪(phonegap-plugin-barcodescanner(插件,并具有相机和闪光灯的权限。
这是我的代码:
<script type="text/javascript">
document.addEventListener("deviceready", scanNow, false);
function scanNow() {
cordova.plugins.barcodeScanner.scan(
function (result) {
// alert("We got a barcode'n" +
// "Result: " + result.text + "'n" +
// "Format: " + result.format + "'n" +
// "Cancelled: " + result.cancelled);
window.open("http://www.example.com?qr=" + result.text, '_system', 'location=no');
},
function (error) {
alert("Error: " + error);
});}
</script>
这是启动按钮:
<a role='button' onclick="scanNow();">Scan</a>
编辑:我通过将这个链接到虚拟脚本添加到我的索引页头来解决问题。
<script src="cordova.js"></script>
您不需要在 deviceready
事件上调用 scanNow()
函数,您只需要确保在触发 deviceready
事件之前不会发生对它的调用。由于您正在调试,我会将该行更改为类似...
document.addEventListener("deviceready", alertDeviceReady, false);
。,然后添加提供警报或控制台消息的alertDeviceReady()
。通常需要一两秒钟,但在速度较慢的设备上可能需要更长的时间,或者如果您有一些插件需要较长的初始化时间。
这将是一个安全问题...
window.open("http://www.example.com?qr=" + result.text, '_system', 'location=no');
。由于不应将 Web 视图打开到另一个页面(你正在离开运行应用的内置 Web 视图,因此你与网站无关(。
您可以使用inAppBrowser
在 Web 视图顶部打开备用视图,但我建议您使用明确命名的 inAppBrowser
API,并且不要假设它已被别名以使用window.open()
- 因为他们已经弃用了这种用法,我相信,它在默认安装中不再有别名。也就是说,尝试使用...
cordova.inAppBrowser.open()
。相反。
请参阅此处的文档,其中还将包含有关该插件当前版本的详细信息(可能仅适用于 CLI 5+ 构建(,并包含指向 github 存储库的链接以获取更多信息。
- 在英特尔XDK上使用javascript保存捕获的图像
- 如何从网站获取数据,然后显示在英特尔 XDK 页面中
- 解锁英特尔xdk中的屏幕
- 英特尔AppFramework-侧菜单不起作用
- 英特尔 XDK:播放不在应用程序文件夹中的音频
- 英特尔 XDK 将 mySQL 数据库连接到应用程序
- 英特尔XDK 未捕获的引用错误: 未定义本地文件系统
- 在英特尔 XDK 中实施服务器发送的事件
- 英特尔 XDK 音量按钮事件
- 在英特尔 XDK 的应用中添加滑块或轮播
- 基于英特尔 xdk html5 的应用程序只能在启用互联网连接时工作
- 科尔多瓦 Phonegap 条形码插件无法从我的英特尔 XDK 应用程序启动
- 英特尔 XDK 警报 API 不起作用
- “英特尔Visual Fortran 2013 XE”中断了Visual Studio 2012中的javascript
- 英特尔Mac上的Javascript Regex.是模式和子模式替换bug
- 如何用英特尔XDK制作的应用程序下载文件
- 我怎么能保持屏幕与英特尔XDK
- 我如何在安卓手机和英特尔爱迪生之间不断交换数据
- 为什么我的英特尔xdk应用程序不能在安卓上工作?
- 我可以将英特尔xdk模拟器默认设置为横向方向吗?