尝试在Cordova InAppBrowser中打开PDF时出现“加载错误”

时间:2019-10-02 15:18:57

标签: cordova cordova-plugins inappbrowser

在我的Cordova应用程序中,我使用InAppBrowser呈现PDF文档

window.open = cordova.InAppBrowser.open;

document.onclick = function (e) {
  e = e || window.event;
  var element = (e.target || e.srcElement).closest("a");
  if (element && element.getAttribute('target') === '_blank') {
    window.open(element.href, "_blank", "location=yes,enableViewportScale=true");
    return false; // prevent default action and stop event propagation
  }
};

它对于一个PDF来说工作正常,但另一个显示“ Load Error”。发生了什么事?

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以通过监听loaderror事件来获取有关错误的更多信息:

const inAppBrowserRef = window.open(element.href, "_blank", "location=yes,enableViewportScale=true");

inAppBrowserRef.addEventListener('loaderror', (params) => {
  console.log('error:', params);
});

就我而言,所报告的错误是“ Frame Load Interrupted”。搜索该错误后,我发现this answer关于MIME类型。确实,我将PDF的MIME类型错误地设置为"application/octet-stream"而不是"application/pdf"。解决此问题后,我收到了load error错误。

我希望这对某人有帮助!