2014-05-15 30 views
1

我正在使用MacBook Air並一直在研究ePub的創建。我從github click here那裏獲得了epub3樣板文件的副本。我曾經在一個JavaScript文件中添加以下ePub和Javascript

var txt = document.createTextNode(" This text was added to the DIV."); 
document.getElementById('contenty').appendChild(txt); 

<script src='../js/main.js'></script>

當我打開iBooks的編譯EPUB它不會在div #contenty顯示This text was added to the DIV.

使用Kitabu它實際上工作,但有沒有辦法讓Javascript在iBooks中工作?

感謝

回答

3

的JavaScript將在iBooks的最絕對是公正確保包括在OPF清單您的JS文件作爲項目:

<item id="[someUniqueID]" href="[fileLocation/fileName.js]" media-type="text/javascript"/> 

您還需要聲明的頁面(s)表示,引用作爲腳本在OPF腳本文件:

<item id="[pageID]" href="[pageLocaiton.xhtml]" media-type="application/xhtml+xml" properties="scripted" /> 

注意:你可以側面加載,即使沒有上述的修復工作,但您將無法居然把日電子書在沒有他們的iBookstore中。您的JS代碼不會工作:因爲它在頁面加載之前執行:嘗試執行<body onload="init()">並將第二行代碼(document.getElementById ....)包裝在函數init()中, {}。

祝你好運任何快樂的腳本!

+0

我得到它在iBoo上工作ks在Mac上,但當我嘗試它在Android手機上的BlueFire它不起作用 – ngplayground

+0

Bluefire沒有完整的ePub3支持:你的問題是特定於iBooks,所以我只是說...如果你正在尋找一個Android閱讀器,我會等到六月底,Kobo應該有完整的ePub3支持! –

0

你好,我得到了同樣的問題,不幸的是我在這條道路電子書添加/ OPS/package.opf

<item media-type="text/javascript" id='js-script' href='js/script.js'/> 

,在我的script.js添加該代碼

function init(){ 
var txt = document.createTextNode(" This text was added to the DIV."); 
document.getElementById('mida').appendChild(txt);} 

,並添加<body onload="init()">我的電子書/ OPS/content.xhtml 和創建簡單的div與編號mida但沒有附加