2014-06-11 41 views
2

我有一个的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

嗯,经过一些更多的试验后,我得到了怀疑“\\/OPS \\/package.opf”导致死锁/持续等待package.opf变得可访问。所以:好主意,但没有骰子。 – Erik

回答

0

伟大的问题。

第1部分:最有可能的是,否:路径不再正确。 iBooks将ePub拆分并将其放置在它自己的特殊位置。您可以在行动与图像做这样的事情看到这一点:

$(".anImg").on("tap",function(){ 
    alert(event.target.src); 
}) 

上面的函数会显示是这样的:“ibooksimg://BOOKID/Images/theImg.png”。由于这条道路的第一部分(ibooksimg),我怀疑你的书中的相对结构是否保持不变。

第2部分:从iBooks中的任何文件进行内部阅读是我认为此刻不可能的事情。从iBooks内部使用GET请求或XHR,我从未有过任何运气:Apple使这种文件间通信非常困难。

建议:我们所做的是将我们的所有版本信息等等放在我们的JS文档中作为json变量。 Javascript文件是苹果公司唯一可以和苹果一起玩的类型(你可以将它们包含在你的头文件中)。这是一个耻辱,但总比没有好......