【发布时间】:2020-09-03 23:17:50
【问题描述】:
我对 InAppBrowser 有疑问。我正在尝试捕获可能来自我正在加载的网站的错误,并且我正在通过错误的 .htaccess 进行模拟,这会产生错误 500。
我有以下代码:
ref = cordova.InAppBrowser.open($openuri, '_blank', 'location=no,toolbar=no,zoom=no,enableviewportscale=no,disallowoverscroll=no');
ref.addEventListener("loadstop",function() {
.....
});
ref.addEventListener("loaderror",function() {
alert('Toot');
});
ref.addEventListener('loadstart', function(event) {
.....
});
网站正在打开,所有“loadstop”和“loadstart”事件都正常工作。但是,当我故意让页面返回“错误 500”时,“loaderror”事件没有触发。
它会因其他错误而触发 - 例如当手机上没有互联网时。
非常感谢任何关于为什么会发生这种情况的想法。
【问题讨论】:
-
你在安卓设备上测试吗?
-
查看适用于 Android 的 InAppBrowser 插件代码,它内部使用 onReceivedError 方法来处理“加载错误”事件。因此,我从 webview 的角度查看了这个问题,并偶然发现了这个链接 - code.google.com/p/android/issues/detail?id=968,它指出 onReceivedError 函数并不意味着捕获 HTTP 错误。对于 HTTP 错误处理,我们可能必须使用不属于插件的“onReceivedHttpError”函数。希望这对为什么不起作用是有意义的。
-
@Gandhi 是的,这就解释了。如果您发表评论作为答案,我会接受。谢谢
-
完成。您可以接受。干杯
标签: cordova cordova-plugins inappbrowser