// ==UserScript==
// @name たてがき!進化版
// @description 「小説家になろう」をiPhoneで縦書きにして読む。GoogleCode閉鎖したので別の場所から。
// @include http://*
// @require http://nehan.googlecode.com/hg/nehan5.min.js
// @require http://nehan.googlecode.com/hg/nehan5.css
// ==/UserScript==
/*
* @title たてがき!
* @description 「小説家になろう」をiPhoneで縦書きにして読む
* @include http://*
* @license MIT License
* @require http://nehan.googlecode.com/hg/nehan5.min.js
* @require http://nehan.googlecode.com/hg/nehan5.css
*/
//本文(divタグ)を取得
var targetNode=document.getElementById("novel_honbun");
//PagedElementの作成
var paged_element = Nehan.createPagedElement();
//スタイルの設定
paged_element.setStyle("body", {
"flow":"tb-rl", // 縦書きモード。横書きなら"lr-tb"にする。
"width":640,
"height":732,
"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);
}
});
//組版結果の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 = "
";
ButtonArea.appendChild(NextButton);
ButtonArea.innerHTML = ButtonArea.innerHTML + " ";
ButtonArea.appendChild(PrevButton);
ButtonArea.innerHTML = ButtonArea.innerHTML + "
";
element.appendChild(ButtonArea);
// ボタンを配置
//element.appendChild(NextButton);
//element.appendChild(PrevButton);
// 次ページボタンをクリック
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);
};