在我的 Phonegap Android 应用程序中,我有以下 Javascript 代码:
function onDeviceready()
{
window.plugins.webintent.getUri(function(url)
{
alert("WebIntent Fired Up! URL is " + url);
if (url.substring(0, 37) === "https://xxxxxxx.com/confirmation.html")
{
alert("intent matched!");
var params = url.substr(url.indexOf("?") + 1);
params = params.split("&");
var verificationData = params[0].split("=");
var emailData = params[1].split("=");
launchLinkEmail = emailData[1];
launchLinkVerification = verificationData[1];
alert("verification is " + launchLinkVerification);
alert("email is " + launchLinkEmail);
}
});
}
$(document).ready(function() {
document.addEventListener('deviceready', onDeviceready, true);
});
问题是变量launchLinkVerification
和launchLinkEmail
似乎在页面加载并且Javascript完成后设置,因此当我尝试在任何我想使用它们的地方调用它时它们的值是空的。警报总是显示我想要的信息,但是如果我尝试在我的 HTML 页面中的任何位置显示它们,或者根据它们的值设置条件,它们都不起作用。
另一方面,似乎如果我使用它window.plugins.webintent.getUri(function(url)
以外的任何地方onDeviceready
有时根本不会执行(或者至少不是在我可以预测或理解的条件下),并且变量也没有设置。
最终,我想做的是:
从 WebIntent 捕获的 URL 获取数据。
如果来自 WebIntent 的数据符合某些条件,则使用切换到另一个页面
window.location = confirmation.html
confirmation.html
用我从 WebIntent 获取的 URL 中获得的两个变量填写表单上的两个字段。
如何从 Webintent 调用中获取数据,根据该数据的内容切换页面,然后在新页面上使用该数据?