PhoneGap 在应用程序浏览器加载停止事件问题

PhoneGap inAppBrowser loadstop event issue

本文关键字:事件 问题 加载 应用程序 浏览器 PhoneGap      更新时间:2023-09-26

我的页面非常简单。
运行时,仅显示一个按钮。单击该按钮时,将打开 inAppBrowser 并加载页面"1.html"。1.html中还有一个按钮,单击它将转到2.html。
我的目标:
1.单击1.html上的按钮后,它将变为2.html(完成)。
2. 每次在应用浏览器中更改 URL 时,都会提醒该 URL。这是索引的代码.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>

每次更改应用程序浏览器中的 url。这会触发负载停止事件吗?如果是,为什么我不能让它工作。如果否,我该如何实现?

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

配置.xml中安卓的配置是:

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

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