在我的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”。发生了什么事?
答案 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
错误。
我希望这对某人有帮助!