たてがき!進化版

    @@ -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 です。

History

  1. 2017/08/05 12:34:59 - 2017-08-05
  2. 2015/02/22 23:40:33 - 2015-02-22
  3. 2015/02/22 23:30:02 - 2015-02-22
  4. 2015/02/22 23:29:19 - 2015-02-22
  5. 2015/02/22 23:28:03 - 2015-02-22
  6. 2015/02/22 23:27:33 - 2015-02-22
  7. 2015/02/22 23:26:28 - 2015-02-22
  8. 2015/02/22 23:25:47 - 2015-02-22
  9. 2015/02/22 23:25:05 - 2015-02-22
  10. 2015/02/22 23:24:27 - 2015-02-22
  11. 2015/02/22 23:23:34 - 2015-02-22
  12. 2015/02/22 23:20:27 - 2015-02-22
  13. 2015/02/22 23:13:20 - 2015-02-22
  14. 2015/02/22 23:12:07 - 2015-02-22
  15. 2015/02/22 22:59:16 - 2015-02-22
  16. 2015/02/22 22:42:53 - 2015-02-22
  17. 2015/02/22 22:32:07 - 2015-02-22
  18. 2015/02/22 22:30:30 - 2015-02-22
  19. 2015/02/22 22:25:51 - 2015-02-22