【问题标题】:How to redirect to local html page in phonegap android app?如何在phonegap android应用程序中重定向到本地html页面?
【发布时间】:2011-09-27 10:17:32
【问题描述】:

我正在尝试使用phonegap创建一个android应用程序,第一页是登录页面,它向服务器查询用户身份验证,服务器返回json字符串:如果登录成功则返回true,否则返回false。我收到了响应,但我无法重定向到下一个 html 页面。我正在使用下面的代码

$('#loginForm').submit(function(){
    var uid = $('#login').val();
    var pwd = $('#password').val();

    $.getJSON('http://example.com/phonegap/login.php',
        { userid: uid, password: pwd },
        function(json) {
            $.each(json, function(k, v) {
                if(v == "true" || v == true){
                    super.loadUrl("file:///android_asset/www/page2.html");
                } else {
                    $('#loginError').html("Login failed, username and/or password don't match");
                }
        });
    });
    return false;
});

请告诉我,成功登录后如何将用户重定向到page2.html?

【问题讨论】:

    标签: jquery android html redirect cordova


    【解决方案1】:

    您可以使用 window.location 调用其他 html 页面,如果 www 文件夹中的第二个 html 页面没有给出完整路径(请删除您的本地方式路径)。 请查看以下代码。

    $('#loginForm').submit(function(){
        var uid = $('#login').val();
        var pwd = $('#password').val();
        $.getJSON('@987654321@',
            { userid: uid, password: pwd },
            function(json) {
                $.each(json, function(k, v) {
                    if(v == "true" || v == true){
                        window.location="page2.html";
                    } else {
                        $('#loginError').html("Login failed, username and/or password don't match");
                    }
            });
        });
        return false;
    });

    【讨论】:

    • 非常感谢,您解决了我的问题。自 2-3 天以来,我一直在努力解决这个问题。
    • 使用 PhoneGap 1.5.0、jquery 1.7.1 和 jquery mobile 1.0.1 这会导致“JSCallback Server Closed: Stopping callbacks”。错误(至少在我的情况下)重定向后禁用脚本。使用 jquery 函数“$.mobile.changePage('url');”一切正常。
    • window .location 将重定向,但它正在更改 webview 设置
    • 它会在 webview 中加载新的重定向页面吗? jquery mobile 是否也做同样的事情,即更改 window.location
    • 谢谢你救了我的命 :)
    【解决方案2】:

    从纯 JavaScript 的角度来看,
    window.location.href = 'something.html'; 会失效吗?

    【讨论】:

      【解决方案3】:

      试试jQuery加载方法

      http://api.jquery.com/load/

      【讨论】:

      • 我必须重定向而不是将其内容加载到 html 标记中。无论如何,谢谢。
      【解决方案4】:

      karnyj 是对的,因为标记的解决方案是针对 iOS 的。使用 window.location = "url" 有时会冻结 iOS 中的应用程序(每次我重新启动设备时都会发生)。

      //这是要走的路 window.location.href = 'something.html';

      【讨论】:

        【解决方案5】:

        相对路径应该没问题。

        我发现window.location = './yourPage.html'(和
        window.location.href = './yourPage.html')并不总是有效,
        并已成功使用: window.location.replace('./yourPage.html');

        【讨论】:

          【解决方案6】:

          window.location.replace('xyz.html'); 始终有效!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-10-05
            • 2012-03-16
            • 2010-11-08
            • 2019-04-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多