たてがき!進化版

  • /*
     * @title たてがき!進化版
     * @description 「小説家になろう」をiPhoneで縦書きにして読む。GoogleCode閉鎖したので別の場所から。
     * @include http://*
     * @license MIT License
     * @require http://blog-imgs-108.fc2.com/s/u/g/sugarless1682/nehan.js
     * @require http://blog-imgs-108.fc2.com/s/u/g/sugarless1682/nehan.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