gpt4 book ai didi

javascript - 为什么 onDeviceReady 中的 if() 语句会循环?

转载 作者:行者123 更新时间:2023-11-28 15:56:22 25 4
gpt4 key购买 nike

在我的 Phonegap Android 应用程序中,我有以下 Javascript 代码:

function onDeviceready()
{
window.plugins.webintent.getUri(function(url)
{
alert("window location is: " + window.location);
if (window.location !== 'file:///android_asset/www/confirmation.html')
{
window.location = "file:///android_asset/www/confirmation.html";
}
});
}

在我看来,如果 window.location 不是 file:///android_asset/www/confirmation.html ,那么它应该转到 file:///android_asset/www/confirmation.html。如果它已经在该页面上,那么什么都不会发生。

但是,发生的情况是它会一遍又一遍地重新加载 file:///android_asset/www/confirmation.html 而不会停止。

在网络上进行一点搜索表明,在 Android 设备的上下文中,应该使用 navigator.app.loadUrl() 而不是 window.location,但是此代码仍然循环:

function onDeviceready()
{
window.plugins.webintent.getUri(function(url)
{
alert("window location is: " + window.location);
if (window.location !== 'file:///android_asset/www/confirmation.html')
{
navigator.app.loadUrl("file:///android_asset/www/confirmation.html");
}
});
}

如果我已经在 file:///android_asset/www/confirmation.html 上,如何继续留在 file:///android_asset/www/confirmation.html 上> 当我通过我的 onDeviceready 代码时?

最佳答案

window.locationan object ,不是字符串,因此比较不起作用。

也许可以尝试window.location.href != 'http://....'

令人困惑的地方在于,即使它是一个对象,您仍然可以为其分配一个字符串(以更改 URL)。

关于javascript - 为什么 onDeviceReady 中的 if() 语句会循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18653194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com