このページの本文へ

古籏一浩のJavaScriptラボ ― 第81回

iBooks AuthorでHTML5の電子書籍作ってみた

2012年01月30日 13時00分更新

古籏一浩

  • この記事をはてなブックマークに追加
  • 本文印刷

iBooksで時計を表示する

 最初に、簡単なHTML+JavaScriptを電子書籍に埋め込んでみましょう。

 iBooks Authorは、Mac OS Xの「Dashboardウィジェット」の埋め込みに対応しています。DashboardウィジェットはHTML/CSS+JavaScriptで構成されているので、Dashboardウィジェットを介してHTMLを電子書籍に埋め込むわけです。

 Dashboardウィジェットに関しては本連載の52回~56回で詳しく解説しているので、参照してください。また、Dashcodeアプリケーションを利用しても作成できます。

第52回 Web技術で作るDashboardウィジェット開発入門
http://ascii.jp/elem/000/000/593/593994/

 「ウィジェットを作らないといけないのか、面倒だな」と思う人もいるかもしれません。でも、そんな心配は不要です。ウィジェットは、HTMLファイルやCSSファイルなどをフォルダにまとめ、ファイル情報を示す「Info.plist」ファイルを用意するだけで作成できます。

 サンプル1は、時計をリアルタイムで表示するプログラムです。電子書籍に埋め込む前に、Safariで動作を確認しておきましょう。シンプルなコードですので特に難しい部分はありません。JavaScript初心者でも分かるでしょう。

【図】fig1.png
Safariで動作を確認しておく

■サンプル1


<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>時計</title>
  </head>
  <body>
    <h1>iBooks時計</h1>
    <output id="time">00:00:00</output>
    <script>
      setInterval(function(){
        var dateObj = new Date();
        var h = dateObj.getHours();
        var m = dateObj.getMinutes();
        var s = dateObj.getSeconds();
        var timeStr = h + "時"+m+"分"+s+"秒";
        document.getElementById("time").innerHTML = timeStr;
      }, 1000);
    </script>
  </body>
</html>

 このプログラムを「index.html」という名前にしてフォルダに入れます。フォルダ名がウィジェット名になりますが、iBooks Authorに埋め込むのであれば特に命名規則などはありません。

【図】fig2.png
index.htmlファイルをclockフォルダに入れる

 次に、「Info.plist」ファイルを新規に作成します。テキストエディターでも作成できますが、Mac OS Xに付属する「プロパティリストエディタ」を利用して記述すると修正が簡単です(関連記事)。

 プロパティリストエディタでは、以下の図の矢印で示した項目を、ウィジェットに応じて変更します。

【図】fig3.psd
アプリケーションに応じて変更する部分

 各項目の意味は以下の通りです。ウィジェットの幅はiPadの画面サイズに合わせておきます。

CFBundleDisplayName
ウィジェット名
CFBundleIdentifier
ウィジェットID (ドメイン名とアプリ名を組み合わせる。同名のIDがなけばよい)
CFBundleName
ウィジェット名
Height
iPadで表示する際のウィジェットの縦幅
Width
iPadで表示する際のウィジェットの横幅
MainHTML
最初に読み込むHTMLファイル名

 Info.plistをテキストエディターで作成する場合は以下のように記述します。

■サンプル1 [Info.plist]


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CFBundleDevelopmentRegion</key>
  <string>English</string>
  <key>CFBundleDisplayName</key>
  <string>clock</string>
  <key>CFBundleIdentifier</key>
  <string>com.openspc.widget.clock</string>
  <key>CFBundleName</key>
  <string>clock</string>
  <key>CFBundleShortVersionString</key>
  <string>1.0</string>
  <key>CFBundleVersion</key>
  <string>1.0</string>
  <key>CloseBoxInsetX</key>
  <integer>15</integer>
  <key>CloseBoxInsetY</key>
  <integer>15</integer>
  <key>Height</key>
  <integer>700</integer>
  <key>MainHTML</key>
  <string>index.html</string>
  <key>Width</key>
  <integer>1024</integer>
</dict>
</plist>

 Info.plistはindex.htmlファイルと同じ階層に入れます。

【図】fig4.png
index.htmlと同じ階層に入れる

 次に、フォルダに「.wdgt」という拡張子を付けます。するとフォルダアイコンがDashboardウィジェットに変わります。

【図】fig5.png
フォルダに.wdgtの拡張子を付ける
【図】fig6.png
確認のダイアログが出るので「追加」ボタンをクリック
【図】fig7.png
フォルダアイコンがDashboardウィジェットに変わる

 これで電子書籍に埋め込むDashboardウィジェットが用意できました。

iBooks Authorで埋め込む

 作成したウィジェットをiBooks Authorで電子書籍に埋め込んでみましょう。iBooks Authorを起動します。

【図】fig8.png
iBooks Authorを起動する

 電子教科書のテンプレートが表示されます。

【図】fig9.png
テンプレートが表示される

 今回は「基本(植物学)」のテンプレートを使用します。植物学のアイコンをダブルクリックすると、テンプレートをベースにしてドキュメントが作成されます。

【図】fig10.png
新規のドキュメントが作成される

 ページ内に作成したウィジェットを埋め込みます。埋め込むページを選択します。

【図】fig11.png
ウィジェットを埋め込むページを選択する

 画面上部にあるウィジェットボタンをクリックします。一覧が表示されたら、「HTML」を選択します。

【図】fig12.psd
ウィジェットボタンをクリックする
【図】fig13.psd
HTMLを選択する

 するとページ内にウィジェットが配置されます。この段階では埋め込むウィジェットが設定されていないため、枠だけが確保された状態です。

【図】fig14.png
ページ内に配置される

 作成したウィジェットが表示されるように設定します。ウィジェットパレット内の「選択...」ボタンをクリックし、選択ダイアログから前に作成したウィジェットを選択します。

【図】fig15.psd
「選択...」ボタンをクリックする
【図】fig16.png
作成したウィジェットを選択する

 これで、選択したウィジェットが配置されました。ウィジェットの上下にあるキャプション(現状はダミーが入っています)も修正しておきましょう。ウィジェットの下にある「HTMLを編集」ボタンをクリックします。

【図】fig17.psd
「HTMLを編集」ボタンをクリックする

 画面が切り替わったら英文字をクリックして編集し、文字の修正が終わったら「完了」ボタンをクリックします。

【図】fig18.psd
文字を修正する
【図】fig19.psd
修正が終わったら「完了」ボタンをクリックする

 これでできあがりです。iPadで動作を確認しましょう。iPadをMacに接続し、iBooksを起動しておきます。なお、iBooks Authorで作成した電子書籍はiBooks 2.0以降に対応しています。iBooksは最新版にアップデートしておきましょう。

【図】fig20.psd
iBooksを起動する
【図】fig21.png
iBooksの画面

 iPadを接続したらiBooks Authorでプレビューボタンをクリックします。iPadを接続していない場合は接続確認が表示されます。iPadを接続しているのにプレビューボタンが反応しない場合は、iPadとMacを再接続してみてください。

【図】fig22.psd
プレビューボタンをクリックする

 少しすると作成した書籍がiBooksで開きます。ページを移動するとウィジェットが埋め込まれているのが確認できます。なお、横画面と縦画面ではウィジェットの位置が異なります。

【図】fig23.png【図】fig24.png
埋め込んだウィジェットがページ中央に表示されている。なお、縦方向にするとウィジェットは左側に配置される

 画面に表示されたウィジェットをタップしてみましょう。画面が切り替わってウィジェット専用の画面になります。期待通り、リアルタイムで時計が表示されています。

【図】fig24.png
リアルタイムで時計が表示される
この連載の記事

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

みんなが買ってる最新アイテムはコレだ!

Microsoft Windows 7 Home Premium 通常版 Service Pack 1 適用済み

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

マイクロソリューション Micro Solution Inc.

83人が購入

BenQ 24型 LCDワイドモニタ XL2420T

BenQ 24型 LCDワイドモニタ XL2420T

ベンキュージャパン

37,238円〜

3人が購入

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

20人が購入

メモリーカード 32GB (PCH-Z321J)

メモリーカード 32GB (PCH-Z321J)

ソニー・コンピュータエンタテインメント

7,772円〜

6人が購入

Amazon.co.jp