В моем приложении PhoneGap Android, у меня есть этот Javascript код:Почему это утверждение if() в циклах onDeviceReady?
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
?
В инструкции if у вас есть '! ==', это должно быть '! ='. Я сомневаюсь, что это проблема. – ClaireG