使用pdf.js中的查看器我成功设法打开了一个InAppBrowser的本地pdf文件。下面的代码在iOS上没有任何缺陷:InAppBrowser打开并显示与查看器的pdf!本地文件不能使用pdf.js查看器://在Android上,在iOS上工作
window.resolveLocalFileSystemURL(fileURL, function (file) {
window.open('lib/pdf.js-master/web/viewer.html?file=' + file.toURL(), '_blank', 'location=no')
}, fail);
file.toURL()
呈现为类似file:///blabla/bla
。
但是,在Android上的PDF加载失败,给控制台错误
"XMLHttpRequest cannot load file:///android_asset/www/lib/pdf.js-master/web/locale/locale.properties. Cross origin requests are only supported for HTTP.", source: file:///android_asset/www/lib/pdf.js-master/web/viewer.html?file=file:///storage/emulated/0/Android/data/xxxxxxxxx/cache/677.pdf
并没有连www/lib/pdf.js-master/web/locale/locale.properties
文件...我不知道这有什么的问题,但我在这里包括它。
但是,这跟该错误
"XMLHttpRequest cannot load file:///storage/emulated/0/Android/data/xxxxxxxxx/cache/677.pdf. Cross origin requests are only supported for HTTP.", source: file:///android_asset/www/lib/pdf.js-master/web/viewer.html?file=file:///storage/emulated/0/Android/data/xxxxxxxxx/cache/677.pdf
这绝对是有事情做的问题。
产生以下屏幕。
我不知道如何解决这个错误。再一次,它在iOS上完美运行!我能做些什么来使它在android上工作?我如何启用file:///
的跨源请求?这是问题吗?
感谢您的帮助。
文件是否存在于路径中? – Raptor 2015-04-01 01:44:29
它呢!我可以成功地做'file.moveTo(destination,'newname');' – Clawish 2015-04-01 01:47:01
我注意到你在模拟器上。这是否适用于真正的Android设备? – Raptor 2015-04-01 01:49:33