OSDN Git Service

add html to comic version 0.2
[pettanr/clientJs.git] / 0.4.x / test / dynamic-comic-html.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
2 <html xmlns:v="urn:schemas-microsoft-com:vml"><!-- InstanceBegin template="/Templates/base.dwt" codeOutsideHTMLIsLocked="false" -->\r
3 <head>\r
4         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
5         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
6         <meta http-equiv="Content-Language" content="ja">\r
7         <meta http-equiv="Content-Script-Type" content="text/javascript">\r
8         <meta http-equiv="Content-Style-Type" content="text/css">\r
9         <meta http-equiv="imagetoolbar" content="no">\r
10         <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
11         <!-- InstanceBeginEditable name="doctitle" -->\r
12         <title>js によるコミック html の動的書き出しテスト | pettanR</title>\r
13         <!-- InstanceEndEditable -->\r
14         <!-- InstanceBeginEditable name="head" -->\r
15         <link type="text/css" rel="stylesheet" href="../lib/syntaxhighlighter/styles/shCoreDefault.css">\r
16         <!-- InstanceEndEditable -->\r
17 </head>\r
18 \r
19 <body>\r
20     <div id="general-content">\r
21         <div id="outer-wrapper">\r
22             \r
23             <div id="header">\r
24                 <div class="base-content-width" style="position:relative;">\r
25                     <h1><a href="../index.html">pettanR</a></h1>\r
26                 <!-- global navi -->\r
27                     <div id="global-navi">\r
28                         <noscript id="noscript-alert">You need to have JavaScript enabled.</noscript>\r
29                     </div>\r
30                 </div>\r
31             </div>\r
32             \r
33             <div id="inner-wrapper" class="base-content-width">\r
34                                 <!-- InstanceBeginEditable name="main_content" -->\r
35                                 <div id="main">\r
36                                         <div id="breadcrumb"><a href="index.html">テスト インデックス</a> &gt; js によるコミック html の動的書き出しテスト</div>\r
37                                         <h2>js によるコミック html の動的書き出しテスト</h2>\r
38                                         <p>js による 動的な html の書き出しは、ブログ等への外部サイト表示 script と ログイン後のユーザーのコミック・パネル閲覧に使われます.</p>\r
39                                         \r
40                                         <h3>動的書き出しテスト</h3>\r
41                                         <p>以下のテキストエリアに パネルの json データを入力することで、動的書き出しのテストを行えます.</p>\r
42                                         <form name="htmlTest" class="block-element-item">\r
43                                                 <textarea name="jsonString" style="width:100%" rows="20" cols="100">\r
44 {\r
45         "border":                       1,\r
46         "comic_id":                     5,\r
47         "resource_picture_id":          1,\r
48         "x":                            0,\r
49         "y":                            0,\r
50         "z":                            0,\r
51         "t":                            0,\r
52         "width":                        400,\r
53         "height":                       235,\r
54         "panel_elements":               [\r
55                 {\r
56                         "resource_picture":     {"id":1,"ext":'png'},\r
57                         "x":                    178,\r
58                         "y":                    -2,\r
59                         "z":                    0,\r
60                         "width":                166,\r
61                         "height":               252\r
62                 },\r
63                 {\r
64                         "balloon_template_id":  1,\r
65                         "system_picture_id":    1,\r
66                         "size":                 1,\r
67                         "tail":                 90,\r
68                         "x":                    -29,\r
69                         "y":                    39,\r
70                         "z":                    1,\r
71                         "width":                200,\r
72                         "height":               160,\r
73                         "speeches_attributes":  {\r
74                                 "newf1":        {\r
75                                         "content":      "Hello",\r
76                                         "x":            -29,\r
77                                         "y":            39,\r
78                                         "width":        200,\r
79                                         "height":       160\r
80                                 }\r
81                         }\r
82                 }\r
83         ]\r
84 }\r
85                                                 </textarea>\r
86                                                 <input type="button" value="print" name="bindButton" class="button">\r
87                                         </form>\r
88                                         <p id="invalidJsonAlert" style="color:red;display:none;font-weight:bold;">json is invalid !</p>\r
89                                         <div id="outputHere"></div>\r
90                                         \r
91                                         <h3>source</h3>\r
92                                         <p>pettanr.bind は pettanR コミック用の html エレメントを制作するときに使用する.外部サイト張り出し用  script や ユーザーコンソールの コミックビューワーから使われる.</p>\r
93                                         <p>pettanr.bind.createBindWorker で BindWorker インスタンスを作って使用する.bind の意味は 製本 .jQuery.bind とは関係ないので注意.</p>\r
94                                         <pre class="brush: js;">\r
95 var jsonArea = document.htmlTest.jsonString,\r
96         button = document.htmlTest.bindButton,\r
97         bindWorker = pettanr.bind.createBindWorker( document.getElementById( 'outputHere')),\r
98         elmAlertStyle = document.getElementById( 'invalidJsonAlert').style,\r
99         json = null;\r
100 button.onclick = function(){\r
101         try {\r
102                 eval( 'json = ' + jsonArea.value);\r
103                 elmAlertStyle.display = 'none';\r
104         } catch(e){\r
105                 elmAlertStyle.display = 'block';\r
106         }\r
107         json !== null && bindWorker.json( json);\r
108         json = null;\r
109 }\r
110                                         </pre>\r
111                                         <h3>js による動的な書き出しの利点</h3>\r
112                                         <p>js による動的な書き出しには以下にあげる利点がある.最後のもの以外はサーバへの画像リクエストを抑えるものになります.</p>\r
113                                         <ul>\r
114                                                 <li>吹き出しをベジェ曲線で書き出すことで美しい描画ができ、吹き出し画像へのリクエストを抑止できる</li>\r
115                                                 <li>反転画像をブラウザ側で用意することで、flipH, flipV, flipVH といった反転画像へのリクエストを抑止できる.</li>\r
116                                                 <li>ブラウザの表示エリアに入らない画像について、表示エリアに入るまでリクエストを行わないようにできる</li>\r
117                                                 <li>コマのズーム機能が利用できる.ただしリサイズを禁止された画像を含むコマに対してはできない.</li>\r
118                                         </ul>\r
119                                 </div>\r
120                                 <!-- InstanceEndEditable -->\r
121             </div>\r
122         </div>\r
123     </div>\r
124     \r
125     <div id="footer-content"><!-- #BeginLibraryItem "/Library/footer.lbi" -->\r
126 \r
127         <div id="footer">\r
128             <div id="footer-item-container" class="base-content-width clearfix">\r
129                 <div class="footer-item-wrapper">\r
130                     <div class="footer-item">\r
131                         <h2>ぺったんR にようこそ</h2>\r
132                         <ul>\r
133                             <li>サンプル</li>\r
134                             <li>ぺったんRの特徴</li>\r
135                             <li>沿革</li>\r
136                         </ul>\r
137                         <h2>Test</h2>\r
138                         <ul>\r
139                             <li><a href="index.html">Test Index</a></li>\r
140                         </ul>\r
141                     </div>\r
142                 </div>\r
143                 <div class="footer-item-wrapper">\r
144                     <div class="footer-item">\r
145                         <h2>ドキュメント</h2>\r
146                         <ul>\r
147                             <li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForAuthors" rel="me" target="_blank">作家向けドキュメント</a></li>\r
148                             <li>絵師向けドキュメント</li>                                                     \r
149                             <li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers" rel="me" target="_blank">開発者向けドキュメント</a></li>\r
150                             <li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters" rel="me" target="_blank">編集長向けドキュメント</a></li>\r
151                         </ul>\r
152                     </div>\r
153                 </div>\r
154                 <div class="footer-item-wrapper">\r
155                     <div class="footer-item">\r
156                         <h2>プロトタイプ</h2>\r
157                         <ul>\r
158                             <li><a href="http://pettanr.heroku.com/" rel="me" target="_blank">pettanr.heroku.com</a></li>\r
159                             <li><a href="../work.html" rel="console">ユーザーコンソール</a></li>\r
160                         </ul>\r
161                         <h2>Ajax contents</h2>\r
162                         <ul>\r
163                             <li><a href="../help/jp.xml">help | jp</a></li>\r
164                         </ul>\r
165                     </div>\r
166                 </div>\r
167                 <div class="footer-item-wrapper" style="width:170px;">\r
168                     <div class="footer-item" style="padding-right:0;">\r
169                         <h2>ぺったんRチーム</h2>\r
170                         <ul>\r
171                             <li>わたしたちについて</li>\r
172                             <li>ミッション</li>\r
173                             <li><a href="../diary/itozyun.xml">itozyun's diary</a></li>\r
174                             <li>個人情報保護方針</li>\r
175                             <li>作品の取り扱い</li>\r
176                             <li>お問い合わせ</li>\r
177                         </ul>\r
178                     </div>\r
179                 </div>\r
180             </div>\r
181             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
182         </div><!-- #EndLibraryItem -->\r
183         </div>\r
184         <script type="text/javascript">\r
185                 var has_server_support = false;\r
186         </script>\r
187         <script type="text/javascript" src="../javascripts/common.js"></script>\r
188 <!-- InstanceBeginEditable name="script" -->\r
189         <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shCore.js"></script>\r
190         <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shBrushJScript.js"></script>\r
191         <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shBrushXml.js"></script>\r
192         <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shBrushCss.js"></script>\r
193         <link type="text/css" rel="stylesheet" href="../lib/syntaxhighlighter/styles/shCoreDefault.css">\r
194         <script type="text/javascript">\r
195                 SyntaxHighlighter.all();\r
196                 \r
197                 var jsonArea = document.htmlTest.jsonString,\r
198                         button = document.htmlTest.bindButton,\r
199                         bindWorker = pettanr.bind.createBindWorker( document.getElementById( 'outputHere')),\r
200                         elmAlertStyle = document.getElementById( 'invalidJsonAlert').style,\r
201                         json = null;\r
202                 button.onclick = function(){\r
203                         try {\r
204                                 eval( 'json = ' + jsonArea.value);\r
205                                 elmAlertStyle.display = 'none';\r
206                         } catch(e){\r
207                                 elmAlertStyle.display = 'block';\r
208                         }\r
209                         json !== null && bindWorker.json( json);\r
210                         json = null;\r
211                 }\r
212         </script>\r
213 <!-- InstanceEndEditable -->\r
214 </body>\r
215 <!-- InstanceEnd --></html>\r