首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Epub.js - Phonegap由于blob而无法工作

Epub.js - Phonegap由于blob而无法工作
EN

Stack Overflow用户
提问于 2015-08-11 12:20:43
回答 1查看 1.5K关注 0票数 3

我使用Epub.js库在Phonegap项目中呈现一个.epub文件。

该文件被正确提取和解压缩,但如果在WebView中运行(在桌面和安卓浏览器(Chrome )中运行得很好),屏幕将显示为空白。

调试时,我发现应该加载iframeiframe.onload无法工作,因为iframe.onload从未被调用过。他想要访问的网址是blob:file%3A///85a6ce73-2b5f-430e-a908-26a7d3d830e4,所以我猜这可能是.Cordova不接受blob URI方案。

不过,我不知道有什么办法.我完全被困在那里了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-11 15:17:39

我找到解决办法了。所有“科多瓦不接受URI”的答案总是“白名单”

使用我在配置文件中拥有的白名单插件:

代码语言:javascript
复制
<access origin="*" />

但是,调试时,我看到blob:/file://...uri在shouldAllowNavigation中被阻塞了。然后我试着:

代码语言:javascript
复制
<access origin="*" />
<allow-navigation origin="*" />

但!但还是没成功。调试得更多一点,我看到WhitelistPlugin --如果您添加了一个*--它不允许所有东西,而是只允许http://https://data:。最后,补充如下:

代码语言:javascript
复制
<access origin="*" />
<allow-navigation href="*" />
<allow-navigation href="blob:*" />

帮我解决了这个问题。

此外,为了防止对某人有帮助,在我进行测试时,我尝试从服务器下载.epub文件并在文件系统中提取它(/data/data/package/.)然后从那里访问它。由于某些原因,使用XHR请求访问本地文件会返回status: 0,就像它失败了一样,但响应是存在的。如果设置了epub.js文件EPUBJS.core.request方法,则必须编辑this.response文件以接受响应(而不是期望this.status200)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31941634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档