たてがき!進化版
by
Amasak
2017-08-05 [2017/08/05 12:34:59]
「小説家になろう」をiPhoneで縦書きにして読む。GoogleCode閉鎖したので別の場所から。
@@ -1,48 +1,42 @@
/*
- * @title たてがき!
- * @description 「小説家になろう」をiPhoneで縦書きにして読む
+ * @title たてがき!進化版
+ * @description 「小説家になろう」をiPhoneで縦書きにして読む…の涅槃5対応版
* @include http://*
* @license MIT License
* @require http://nehan.googlecode.com/hg/nehan5.min.js
* @require http://nehan.googlecode.com/hg/nehan5.css
*/
+/*
+ * 「小説家になろう」の各小説本文ページで使ってください。
+ * iPhone5の解像度で最適化(したつもり)。
+ * 冗長なとこ多いのでそのうち直す…かも。
+ */
+
-//本文(divタグ)を取得
+/*
+ * 「なろう」から
+ */
+//本文取得
var targetNode=document.getElementById("novel_honbun");
+
+/*
+ * 涅槃準備
+ */
//PagedElementの作成
var paged_element = Nehan.createPagedElement();
//スタイルの設定
paged_element.setStyle("body", {
- "flow":"tb-rl", // 縦書きモード。横書きなら"lr-tb"にする。
+ "flow":"tb-rl",
"width":320,
"height":440,
- "font-size":16 // fontSize(camel case)とは書けない。
-});
-
-//ページ内容をセット
-//paged_element.setContent(targetNode.innerHTML);
-
-/*
-paged_element.setContent(targetNode.innerHTML, {
- onComplete : function(time){
- console.log("page_count = %d", paged_element.getPageCount());
- console.log("outline element = %o", paged_element.engine.createOutlineElement());
- }
-});
-*/
-
-paged_element.setContent(targetNode.innerHTML, {
- onProgress : function(tree){
- console.log("%d page(%d percent) is done", tree.pageNo, tree.percent);
- },
- onComplete : function(time){
- console.log("finish! %f time", time);
- }
+ "font-size":16
});
+//本文をセット
+paged_element.setContent(targetNode.innerHTML);
//組版結果のDOMを取得
var element = paged_element.getElement();
@@ -51,19 +45,22 @@
targetNode.parentNode.replaceChild(element,targetNode);
-
+/*
+ * ボタンのセット
+ */
// 進むボタン
var NextButton = document.createElement('input');
NextButton.type = "button";
-NextButton.value = "<進む";
+NextButton.value = "< 進む";
NextButton.id = "next-button";
// 戻るボタン
var PrevButton = document.createElement('input');
PrevButton.type = "button";
-PrevButton.value = "戻る>";
+PrevButton.value = "戻る >";
PrevButton.id = "prev-button";
+// ボタン配置エリア
var ButtonArea = document.createElement('div');
ButtonArea.style.textAlign = "center";
ButtonArea.innerHTML = "<br>";
@@ -71,25 +68,18 @@
ButtonArea.innerHTML = ButtonArea.innerHTML + " ";
ButtonArea.appendChild(PrevButton);
ButtonArea.innerHTML = ButtonArea.innerHTML + "<br><br>";
-element.appendChild(ButtonArea);
// ボタンを配置
-//element.appendChild(NextButton);
-//element.appendChild(PrevButton);
+element.appendChild(ButtonArea);
-// 次ページボタンをクリック
+// 進むボタンをクリック
document.getElementById("next-button").onclick = function(){
paged_element.setNextPage();
- //element.appendChild(NextButton);
- //element.appendChild(PrevButton);
element.appendChild(ButtonArea);
};
-
-// 次ページボタンをクリック
+// 戻るボタンをクリック
document.getElementById("prev-button").onclick = function(){
paged_element.setPrevPage();
- //element.appendChild(NextButton);
- //element.appendChild(PrevButton);
element.appendChild(ButtonArea);
-};
+};
/*
* @title たてがき!進化版
* @description 「小説家になろう」をiPhoneで縦書きにして読む…の涅槃5対応版
* @include http://*
* @license MIT License
* @require http://nehan.googlecode.com/hg/nehan5.min.js
* @require http://nehan.googlecode.com/hg/nehan5.css
*/
/*
* 「小説家になろう」の各小説本文ページで使ってください。
* iPhone5の解像度で最適化(したつもり)。
* 冗長なとこ多いのでそのうち直す…かも。
*/
/*
* 「なろう」から
*/
//本文取得
var targetNode=document.getElementById("novel_honbun");
/*
* 涅槃準備
*/
//PagedElementの作成
var paged_element = Nehan.createPagedElement();
//スタイルの設定
paged_element.setStyle("body", {
"flow":"tb-rl",
"width":320,
"height":440,
"font-size":16
});
//本文をセット
paged_element.setContent(targetNode.innerHTML);
//組版結果のDOMを取得
var element = paged_element.getElement();
//本文を組版結果に置換
targetNode.parentNode.replaceChild(element,targetNode);
/*
* ボタンのセット
*/
// 進むボタン
var NextButton = document.createElement('input');
NextButton.type = "button";
NextButton.value = "< 進む";
NextButton.id = "next-button";
// 戻るボタン
var PrevButton = document.createElement('input');
PrevButton.type = "button";
PrevButton.value = "戻る >";
PrevButton.id = "prev-button";
// ボタン配置エリア
var ButtonArea = document.createElement('div');
ButtonArea.style.textAlign = "center";
ButtonArea.innerHTML = "<br>";
ButtonArea.appendChild(NextButton);
ButtonArea.innerHTML = ButtonArea.innerHTML + " ";
ButtonArea.appendChild(PrevButton);
ButtonArea.innerHTML = ButtonArea.innerHTML + "<br><br>";
// ボタンを配置
element.appendChild(ButtonArea);
// 進むボタンをクリック
document.getElementById("next-button").onclick = function(){
paged_element.setNextPage();
element.appendChild(ButtonArea);
};
// 戻るボタンをクリック
document.getElementById("prev-button").onclick = function(){
paged_element.setPrevPage();
element.appendChild(ButtonArea);
};
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。