【问题标题】:JS Progress Bar not working in InAppBrowserJS 进度条在 InAppBrowser 中不起作用
【发布时间】:2017-07-11 08:41:42
【问题描述】:

我在 Cordova 应用程序中使用 progressbar.js Progress Bar

我的 Cordova 应用使用“inAppBrowser”插件打开一个远程 html 页面(同一网络,但对设备来说是远程的)。

当我在 Ripple 中调试/测试时,一切都按预期工作,但在 Android 设备上,当在“inAppBrowser”中查看此页面时,进度条无法初始化。

我尝试了两种不同的 Android 设备,结果相同。

当在 Android 上使用普通 Chrome 浏览器查看带有进度条的同一页面时,它会按预期工作。我的应用只是使用“inAppBrowser”导航到此页面,这就是它中断的地方。

所有其他 JS 在“inAppBrowser”查看的页面中都可以正常工作,因此它是 progressbar.js 特有的。

我不确定如何调试这个,因为它肯定是某个地方抛出的 javascript 错误,但我根本无法调试 Android 设备上的“inAppBrowser”页面。 (或者更好,我不知道如何/如果我能做到?)

Chrome 远程调试利用在 Android 设备上的 Chrome 中运行您的代码,而这正是我的页面实际运行的地方,所以我看不出这对我有什么帮助。

有什么建议吗?

谢谢

【问题讨论】:

    标签: javascript android cordova inappbrowser phonegap


    【解决方案1】:

    使用 chrome 开发人员工具进行检查 chrome://inspect/#devices 将允许远程调试在 android 设备上以 chrome 加载的任何页面,因此假设您使用 inappbrowser 将页面加载到 chrome 中,这将允许您查看发生了什么。

    【讨论】:

    • 我没有从应用程序导航到页面。我在应用程序内使用“inAppBrowser”导航到页面...
    • 啊,好吧,我使用 '_system' 参数,所以它在 chrome 中打开,我忘记了纯 inappbrowser 选项。
    【解决方案2】:

    看过documentation

    看起来你可以使用:

    inAppBrowserRef.addEventListener('loaderror', loadErrorCallBack);
    
    function loadErrorCallBack(params) {
    
    $('#status-message').text("");
    
    var scriptErrorMesssage =
       "alert('Sorry we cannot open that page. Message from the server is : "
       + params.message + "');"
    
    inAppBrowserRef.executeScript({ code: scriptErrorMesssage }, executeScriptCallBack);
    
    inAppBrowserRef.close();
    
    inAppBrowserRef = undefined;
    

    }

    【讨论】:

      猜你喜欢
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多