Memo / LDR / DOM

DOM.hideに要素のidを渡すと消してくれる。

DOM.hide.toSource(true);
(function (el) {
  $(el).style.display = "none";
})

なるほど。

という事で、こんなのを書いてみた。

// ==UserScript==
// @name ldr_plus
// @namespace http://d.hatena.ne.jp/yheld/
// @include http://reader.livedoor.com/reader/*
// ==/UserScript==

(function() {
  var w = unsafeWindow;
  var _onload = w.onload;

  w.onload = function() {
    _onload();

    with (w) {
      ['header', 'footer', 'control', 'menu'].forEach(function(obj) {
        DOM.hide(obj)
      });

      fit_screen();
    }
  }
})();

fit_screenすると、色々と調整してくれる。

function fit_screen() {
  var leftpane_width = State.leftpane_width;

  if (State.fullscreen) {
    return fit_fullscreen();
  }

  var body_h = document.body.offsetHeight;
  var top_padding = $("container").offsetTop;var bottom_padding = $("footer").offsetHeight - 20;

  if (browser.isMac && browser.isFirefox) {
    bottom_padding += 20;
  }

  var ch = body_h - top_padding - bottom_padding - 4;
  State.container_height = ch;
  style_update(/container/);
}

追記

Control探ってたら、そのものズバリの関数があった。

Control.toggle_fullscreen.toSource(true);
(function () {
  var fs = [];
  var elements = ["header", "menu", "control", "footer"];

  fs[0] = ["header", "menu", "control", "footer"];
  fs[1] = ["menu", "control"];fs[2] = [];

  if (!State.fullscreen) {
    State.fullscreen = 1;
  } else if (State.fullscreen == fs.length - 1) {
    State.fullscreen = 0;
  } else {
    State.fullscreen++;
  }

  Element.hide(elements);
  Element.show(fs[State.fullscreen]);
  fit_screen();
})

と、いう事は、

// ==UserScript==
// @name ldr_plus
// @namespace http://d.hatena.ne.jp/yheld/
// @include http://reader.livedoor.com/reader/*
// ==/UserScript==

(function() {
  var w = unsafeWindow;
  var _onload = w.onload;

  w.onload = function() {
    _onload();

    with (w) {
      Control.toggle_fullscreen();
      Control.toggle_fullscreen();
    }
  }
})();

これでおk。