PhoneGap inAppBrowser loadstop事件问题

时间:2013-10-25 16:45:26

标签: javascript jquery html cordova

我的页面非常简单 当它运行时,只显示一个按钮。单击该按钮时,将打开inAppBrowser并加载页面“1.html”。 1.html中还有一个按钮,点击它会转到2.html 我的目标:
1.点击1.html上的按钮后,它将变为2.html(完成) 2.每次更改inAppBrowser中的url时,请提醒网址。 这是index.html的代码:

<!DOCTYPE html>
<html>
  <head>
    <title>InAppBrowser.addEventListener Example</title>
    <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        $("#btn").click(function(){
            var ref = window.open('1.html', '_blank', 'location=yes');
            ref.addEventListener('loadstop', function(event) { alert('stop: ' + event.url); });
        });
    }

    </script>
  </head>
  <body>
    <button id="btn">click</button>
  </body>
</html>

“1.html”上有一个按钮。如果单击它,请转到“2.html”。 这是1.html的代码:

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
    <script type="text/javascript" charset="utf-8">
        $(function(){
            $('#btn').click(function(){
                window.href.location = '2.html';
            });
        });
    </script>
  </head>
  <body>
    <button id="btn">Test</button>
    <div id="msg"></div>
  </body>
</html>

每次更改inAppBrowser网址时。这会触发loadstop事件吗?如果是,为什么我不能让它工作。如果不是,我该如何实现呢?

2 个答案:

答案 0 :(得分:1)

您需要检查是否在config.xml中正确配置了inappbrowser的插件。这可以在在线phonegap构建部分或config.xml中进行验证。

config.xml中android的配置是:

<gap:plugin name="org.apache.cordova.inappbrowser" />

答案 1 :(得分:0)

1.html中,将代码从window.href.location = '2.html';更改为window.location.href = '2.html';。然后,当您使用1.html并单击该按钮时,它将实际更改URL并提醒新URL。