ionic3 - inappBrowser - IOS 文件未加载
ionic3 - inappBrowser - IOS files don't load
当我尝试使用 inAppBrowser 加载 PDF 文件时,IOS 出现问题。
使用相同的代码,我在网络上打开文件没有任何问题
我像这样调用 InAppBrowser 打开 PDF:
this.inAppBrowser.create(helpAsset.url, '_system', 'hideurlbar=yes');
helpAsset.url 定义一个位于我的资产/存储库中的文件,它是一个内部文件
当我在调试中使用 xcode 构建我的应用程序并将其放在我的 Ipad 上(在 IOS 12 上)时,文件在 Safari 中打开没有问题。
但是使用相同的版本,但在发布模式下,文件打不开,我有一个空白页面
我尝试更改“_blank”中的“_system”,但问题是一样的。
我读到这可能是一个 CORS 问题,可以用 ionic-native http 解决,但我不知道如何将它与 inappBrowser 集成
有人知道如何解决这个问题吗?
最后,
我通过在 Ipad 上创建 PDF 文件来绕过这个问题,从中读取它,它起作用了(PDF 没有在 safari 中打开,但使用默认 IOS PDF reader插件)
this.file.createDir(rep, 'edossier', true).then(
createDirReturn => {
this.file.createFile(rep + '/edossier', 'pdfToDisplay.pdf', true).then(
createFileReturn => {
this.httpClient.get(helpAsset.url, { responseType: 'blob' }).subscribe(result => {
this.file.writeExistingFile(rep + '/edossier', 'pdfToDisplay.pdf', result).then(
writingFileReturn => {
this.inAppBrowser.create(rep + '/edossier/' + 'pdfToDisplay.pdf', '_blank', 'hideurlbar=no,location=no,toolbarposition=top'
);
}
);
});
});
});
我认为代码可以更好,但这工作正常。
当我尝试使用 inAppBrowser 加载 PDF 文件时,IOS 出现问题。 使用相同的代码,我在网络上打开文件没有任何问题
我像这样调用 InAppBrowser 打开 PDF:
this.inAppBrowser.create(helpAsset.url, '_system', 'hideurlbar=yes');
helpAsset.url 定义一个位于我的资产/存储库中的文件,它是一个内部文件
当我在调试中使用 xcode 构建我的应用程序并将其放在我的 Ipad 上(在 IOS 12 上)时,文件在 Safari 中打开没有问题。 但是使用相同的版本,但在发布模式下,文件打不开,我有一个空白页面
我尝试更改“_blank”中的“_system”,但问题是一样的。
我读到这可能是一个 CORS 问题,可以用 ionic-native http 解决,但我不知道如何将它与 inappBrowser 集成
有人知道如何解决这个问题吗?
最后,
我通过在 Ipad 上创建 PDF 文件来绕过这个问题,从中读取它,它起作用了(PDF 没有在 safari 中打开,但使用默认 IOS PDF reader插件)
this.file.createDir(rep, 'edossier', true).then(
createDirReturn => {
this.file.createFile(rep + '/edossier', 'pdfToDisplay.pdf', true).then(
createFileReturn => {
this.httpClient.get(helpAsset.url, { responseType: 'blob' }).subscribe(result => {
this.file.writeExistingFile(rep + '/edossier', 'pdfToDisplay.pdf', result).then(
writingFileReturn => {
this.inAppBrowser.create(rep + '/edossier/' + 'pdfToDisplay.pdf', '_blank', 'hideurlbar=no,location=no,toolbarposition=top'
);
}
);
});
});
});
我认为代码可以更好,但这工作正常。