2013-01-14 66 views
1

我們一直在測試iBooks 3中的HTML小部件,並在連接在線方面取得了一些成功。然而,其中一個缺點是它需要用戶交互才能真正擴展小部件並運行Javascript。有沒有辦法在iBook的後臺運行Javascript,而不需要常規分頁之外的用戶交互?有沒有任何方法可以在沒有用戶交互的情況下在iBook中運行javascript?

例如,如果我們想讓Mixpanel在後臺運行,我們該怎麼做?是否有另一種類型的小部件允許這種情況發生?或者除了HTML小部件外還有其他運行javascript的東西嗎?爲了澄清,我使用iBooks Author來創建完整的書,它具有在其中添加HTML小部件的功能。

回答

0

我假設您正在討論使用iBooks Author創作的一本書,順便提一下,這將成爲您的問題的一個有用的細節。我不知道iBooks Author或其構件體系結構,或者它不知道它在何種程度上暴露了將JS放在頁面上的能力。但是,在(X)HTML/JS/CSS中撰寫的「普通」電子書中,閱讀器中的JS和Web瀏覽器之間沒有本質區別。

我不確定你的意思是「在後臺運行」; JS在某些事情告訴它時運行,不管它是放在SCRIPT元素的頁面上,還是放在onLoad或其他事件處理程序中。

+0

感謝您要求澄清,我編輯了原始問題。我具體詢問iBooks以及JS模型如何在其中工作。沒有document.onload,例如,因爲它在iBooks中,那麼是否有相同的東西呢? –

+0

好吧,iBooks中有一個'document.onload'。它基本上意味着該文件已經被載入,並準備好與之配合。唯一的區別是文檔不是通過Web加載的,而是從EPUB文件中加載的。 – 2013-04-04 03:10:15

0

ibooks中的小部件在用戶激活之前不會執行JS。因此,儘管小部件的鏈接可能在您的書中可見,但它無法通過ajax進行連接,或者在啓動之前執行其他任何操作。一旦啓動,小部件也無法訪問書籍內容。如果你想在一個小部件中運行mixpanel,那麼它就沒有任何意義,除非你的小部件還包含了本書的所有內容(和閱讀系統)。

+0

除了iBooks中的小部件,你還可以在其他地方運行JS嗎? –

+0

是的,ibooks將運行嵌入在內容中的JS,但在這種情況下,像mixpanel這樣的東西將無法工作,因爲入站/出站連接被禁止(無ajax)。除此之外,你可以運行jQuery,做DOM操作,CSS動畫等。 – vaporbook

+0

哦,太棒了 - 有沒有關於如何工作的文檔?我只能在epub中看到它,而不是本地的ibooks格式(支持小部件)。 –

相關問題