我有一本iBooks EPUB3书,具有以下目录结构:
mimetype
META-INF (=dir)
OPS (=dir)
scripts (=dir)
jquery-2.1.1.min.js
version.js
Styles (=dir)
stylesheet.css
package.opf
about.xhtml
等
Version.js包含:
$(document).ready(function(){
$.get ('package.opf', <-- this correct?
function(xml) {
$("span#datum").html($(xml).find("meta[property='dcterms\\:modified']").text());
$("span#versie").html($(xml).find("meta[property='ibooks\\:version']").text());
});
});
About.xhtml有一行
<script type="text/javascript" src="scripts/version.js"></script>
在它的正文中,显示package.opf中包含的修改日期和版本号。至少,这是个想法。但事实并非如此。 问题1:version.js中package.opf的路径是否正确?
问题2:在iBooks EPUB3书中是否可以像这样从.opf文件中读取内容?
答案 0 :(得分:0)
好问题。
第1部分:很可能,不:路径不再正确。 iBooks将ePub拆分并将其放入其自己的特殊位置。您可以通过执行以下操作来查看图像:
$(".anImg").on("tap",function(){
alert(event.target.src);
})
上面的函数将显示如下内容:&#34; ibooksimg://BOOKID/Images/theImg.png"。由于这条路径的第一部分(ibooksimg),我怀疑你书中的相对结构是否保持不变。
第2部分:iBooks中任何文件的内部读取是我认为目前不可能实现的。我从未在iBooks中使用GET请求或XHR运气:Apple已经使这种文件内通信变得非常困难。
建议:我们所做的是将我们的所有版本信息等作为json变量放在我们的JS文档中。 Javascript文件是唯一似乎与Apple玩得很好的类型(您可以将它们包含在标题中等)。这是一种耻辱,但总比没有好......