如何在appbrowser中加载错误phonegap时显示错误

问题描述 投票:0回答:1

我正在使用inapp浏览器插件cordova-plugin-inappbrowser开发应用程序并加载托管应用程序

我已经获得了大部分功能,但是当他的网址没有加载时,我无法得到加载错误消息的部分,它只是工作并向我显示我已经托管我的应用程序的网址的错误消息。

这可能令人尴尬。

拜托,我需要帮助

这是我正在使用的工作,感谢您的潜在回应

    // my child browser code, the main source of my app content

function fire(){

  var ref = cordova.InAppBrowser.open('http://####################', '_blank', 'location=no,zoom=no,hardwareback=yes,clearsessioncache=yes,clearcache=no');

var myCallback = function(event) { alert(event.url); }

ref.addEventListener('loadstart', inAppBrowserbLoadStart);

ref.addEventListener('loadstop', inAppBrowserbLoadStop);

ref.addEventListener('loaderror', loadErrorCallBack);

ref.addEventListener('exit', inAppBrowserbClose);

}

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;



}



function executeScriptCallBack(params) {





    if (params[0] == null) {





        $('#status-message').text(

           "Sorry we couldn't open that page. Message from the server is : '"

           + params.message + "'");

    }





}
javascript phonegap inappbrowser
1个回答
0
投票

您的代码通常很好,但您无法控制alert()函数的标题。您可以使用其他一些技术来显示错误消息。例如,您可以使用div

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

function createMsg(msg) {
  return 'var div = document.createElement("div");'
       + 'div.style.position = "absolute";'
       + 'div.style.top = "50%";'
       + 'div.style.left = "50%";'
       + 'div.style.width = "100px";'
       + 'div.style.height = "100px";'
       + 'div.style.color = "#f00";'
       + 'div.innerHTML = "' + msg + '";'
       + 'document.appendChild(div);'
}
© www.soinside.com 2019 - 2024. All rights reserved.