我们正在尝试构建一个使用Epub.js实现基本加载/查看功能的电子阅读器应用程序。然而,我们正在尝试使用Rails4.0来构建这个应用程序,当我们尝试将Epub.js集成到我们的应用程序中时,我们遇到了一些问题。
我们尝试遵循Github页面上的入门部分。我们有一个Book类来处理ePub加载。我将epub.min.js、zip.min.js和inflate.js文件都放在app/assets/javascripts文件夹中。然后,我们添加必需的javascript:
<script>
var Book = ePub("url/to/book/");
Book.renderTo("area");
</script>这就是我们遇到主要问题的地方。ePub()的参数被转换成一个url --例如,如果它是一个本地文件,那么这个url就是http://localhost:3000/books/testbook.epub。但是由于Rail的资产管道,我们不能有到资产的直接url链接,这意味着我们还没有弄清楚如何使用URL引用本地epub文件。
更复杂的事实是,即使我们在routes.rb中放置一条将url直接链接到资产的路由,这也不起作用,因为Epub.js不仅查看epub文件;它还使用解包并使用url来查看其本地内容。此外,外部urls (如Project Gutenberg中的.epub文件)也不起作用。
有什么办法可以解决这个问题吗?我是Rails的新手,所以我想知道是否有任何我忽略的关键领域。我需要对Epub.js做什么修改吗?我在谷歌和StackOverflow上寻找答案,但似乎没有太多集成Rails和Epub.js的项目。我也尝试过其他解决方案,比如Readium.js,它们似乎也不起作用。
非常感谢你的帮助!
发布于 2014-05-09 02:25:23
您可以使库在公用文件夹中可用。此文件夹不受资产管道的影响。您不必保护它的内容,因为它已经可用。因此,我认为在公共文件夹中使用它没有问题。
只需将其放在rails_root/public上,然后正常地将其加载到您的应用程序布局中
<%= javascript_include_tag "/public/epub.js" %>希望能有所帮助
https://stackoverflow.com/questions/21370365
复制相似问题