cordova 页面重新加载后的保存/传递/GET事件

8ulbf1ek  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(151)

我试着用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使一个导航。阻止一个应用程序无法打开。
有没有一种方法可以通过重新加载页面来避免丢失事件?

2jcobegt

2jcobegt1#

而不是DOMContentLoaded事件,你可以只使用ondeviceready事件。在初始页面(索引页)onDeviceReady()上,你可以做你的验证,并在那之后调用应用程序的第一页。
我们这样做一般登录页面之前,引导用户到应用程序的主页.例如-

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    //get the value
    //check event through backend system
     window.open('blablabla');  //call the App's first page
}

引用自[deviceready][1]文档-
deviceready事件的行为与其他事件略有不同。任何在deviceready事件触发后注册的事件处理程序都会立即调用其回调函数。

p5fdfcr1

p5fdfcr12#

为什么不:
1.防止按回车时的默认行为
1.通过apache发送值
1.获得响应
1.打开app
1.列表项
结论:
1.问题解决了
1.无需重新加载页面
1.更快的最终结果

相关问题