EPUB3でゲームブックを作ります。パスコードを入力すると任意のページにジャンプ(そのページはパスコードを入力しないと閲覧できない)させたいのですがどのようにしたらよいでしょうか?。閲覧にはiOSのiBooksを想定しています。具体的な回答をお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/02/26 15:07:06
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:gizmo5 No.4

回答回数504ベストアンサー獲得回数141

ポイント305pt

普通に iBooks でも javascript が使えそうなんですが。
http://www.robotmedia.net/2011/08/using-javascript-in-ibooks-enhanced-epub/

そこからたどれるサンプルのような雰囲気でスタイルを切り替えてあげればいけるんじゃないでしょうか。
https://github.com/robotmedia/iBooks-ePub-Samples/blob/master/JQuery-Hello-World/OEBPS/chapter1.xhtml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>secret contents</title>
<script src="jquery-1.6.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
$(function(){

	$('#input_code').click(function(){
		if (prompt('input code') == '1234') {
			$('#secret_content').show();
		}
	});

});
//]]>
</script>
</head>
<body>
<h1 id="input_code">Tap Me!</h1>
<div id="secret_content" style="display: none;">

	secret content ...

</div>
</body>
</html>

生でパスコードを書くと epub が zip 圧縮だと知ってる人には瞬殺されてしまいますが、であれば適当な暗号化をかけてあげれば良いと思います。
「javascript 暗号」で検索すれば、適当な暗号ライブラリが見つかるでしょう。
http://phpspot.org/blog/archives/2010/09/javascript_88.html

id:shitumonsu

無事に出来ました。ありがとうございます。

2013/02/26 15:04:19

その他の回答4件)

id:oil999 No.1

回答回数1728ベストアンサー獲得回数320

ポイント50pt

残念ながら、EPUB3にはページのパスワード認証を行う機能は実装されていません。

他2件のコメントを見る
id:shitumonsu

以前同じようなコードで試してみましたがiBooksでは動きませんでした。

2013/02/23 17:12:45
id:oil999

iBooksはEPUB3準拠ではないので、JavaScriptは動きません。

2013/02/23 18:14:29
id:windofjuly No.2

回答回数2625ベストアンサー獲得回数1149

ポイント125pt

ゲームブックであれば、章単位に分けてファイルを作成して、
それぞれにパスワードを設定し、
ハイパーリンクで接続するといったような対応はできませんか?

下記はiBooks Authorを使っている操作例です。
http://support.apple.com/kb/PH2771?viewlocale=ja_JP&locale=ja_JP
http://support.apple.com/kb/PH2760?viewlocale=ja_JP&locale=ja_JP

他3件のコメントを見る
id:shitumonsu

他の方法がありましたら回答をお願い致します。できれば、一つのファイルで完結すると嬉しいです。

2013/02/22 08:59:43
id:windofjuly

ほかのアイデアは今のところ持ち合わせてません…。

JavaScriptの可能性については否定しませんが、
リーダーでの動作保証があるわけでもないので、
興味はありますが着手する予定は私にはないです。

2013/02/22 09:31:40
id:taknt No.3

回答回数13539ベストアンサー獲得回数1198

ポイント20pt

http://helpx.adobe.com/jp/acrobat/kb/4383.html

pdfでしたら閲覧用のパスワードを設定することができます。
iBooksでも閲覧できますしね。ダメでしたら pdfにしたらいいと思います。

ただゲームブックにした場合、pdfの数が たくさんになりそうですが・・・。


http://11plutinum.blog60.fc2.com/blog-entry-150.html
http://helpx.adobe.com/jp/acrobat/kb/4613.html

PDF内にリンクも貼れます。

id:shitumonsu

EPUBでお願いします。あと、「iOSで閲覧するならアプリ作ればいいじゃない。HTML5でネイティブアプリを書けるフレームワークとかありますよ。」という回答はなしで

2013/02/23 17:11:45
id:gizmo5 No.4

回答回数504ベストアンサー獲得回数141ここでベストアンサー

ポイント305pt

普通に iBooks でも javascript が使えそうなんですが。
http://www.robotmedia.net/2011/08/using-javascript-in-ibooks-enhanced-epub/

そこからたどれるサンプルのような雰囲気でスタイルを切り替えてあげればいけるんじゃないでしょうか。
https://github.com/robotmedia/iBooks-ePub-Samples/blob/master/JQuery-Hello-World/OEBPS/chapter1.xhtml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>secret contents</title>
<script src="jquery-1.6.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
$(function(){

	$('#input_code').click(function(){
		if (prompt('input code') == '1234') {
			$('#secret_content').show();
		}
	});

});
//]]>
</script>
</head>
<body>
<h1 id="input_code">Tap Me!</h1>
<div id="secret_content" style="display: none;">

	secret content ...

</div>
</body>
</html>

生でパスコードを書くと epub が zip 圧縮だと知ってる人には瞬殺されてしまいますが、であれば適当な暗号化をかけてあげれば良いと思います。
「javascript 暗号」で検索すれば、適当な暗号ライブラリが見つかるでしょう。
http://phpspot.org/blog/archives/2010/09/javascript_88.html

id:shitumonsu

無事に出来ました。ありがとうございます。

2013/02/26 15:04:19
id:ttakato No.5

回答回数93ベストアンサー獲得回数7

ゲームブックを作るんなら、ファイルを作成してパスワードを設定したらいいのでは?それが無理ならばiBooksでやればいいと思います(*´∀`*)

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません