我试着用custom-url-scheme打开一个cordova-app。
当我在触发事件后使用它时,它可以像这样正常工作:
<input id="myInput" onkeydown="checkKey(event);"/>
function checkKey(event) {
if (event.which == 13 || event.keyCode == 13) {
window.open('blablabla'); // call the App
}
};
不幸的是,在我的例子中,通过按Enter键,该值必须由后端系统检查,然后重新加载页面。
所以我试了这个:
document.addEventListener('DOMContentLoaded', function() {
window.open('blablabla'); // call the App
}, false);
这里的问题是没有活动事件,所以Chrome使一个导航。阻止一个应用程序无法打开。
有没有一种方法可以通过重新加载页面来避免丢失事件?
2条答案
按热度按时间2jcobegt1#
而不是
DOMContentLoaded
事件,你可以只使用ondeviceready
事件。在初始页面(索引页)onDeviceReady()
上,你可以做你的验证,并在那之后调用应用程序的第一页。我们这样做一般登录页面之前,引导用户到应用程序的主页.例如-
引用自
[deviceready][1]
文档-deviceready事件的行为与其他事件略有不同。任何在deviceready事件触发后注册的事件处理程序都会立即调用其回调函数。
p5fdfcr12#
为什么不:
1.防止按回车时的默认行为
1.通过apache发送值
1.获得响应
1.打开app
1.列表项
结论:
1.问题解决了
1.无需重新加载页面
1.更快的最终结果