2014-06-11 55 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文件是蘋果公司唯一可以和蘋果一起玩的類型(你可以將它們包含在你的頭文件中)。這是一個恥辱,但總比沒有好......