我有一本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:包的路径是什么?Opf in version.js正确吗?
问题2:在iBooks EPUB3图书中,是否可能从。opf文件中进行内部读取?
问得好。
第1部分:很可能,不:路径不再正确。iBooks将ePub拆分,并将内容放在自己的特殊位置。您可以对图像执行如下操作:
$(".anImg").on("tap",function(){
alert(event.target.src);
})
上面的函数将显示如下内容:"ibooksimg://BOOKID/Images/theImg.png"。由于这条路径的第一部分(ibooksiming),我怀疑你的书中的相对结构是否保持不变。
Part 2:在iBooks中从任何文件内部读取是我认为目前不可能的事情。我在iBooks中使用GET请求或XHR从来没有任何运气:苹果让这种文件内通信变得非常困难。
建议:我们所做的是把我们所有的版本信息等在我们的JS文档作为json变量。Javascript文件是唯一一种看起来能与苹果友好相处的文件类型(你可以把它们包含在你的头文件中)。很遗憾,但聊胜于无……