素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

LDRをFirefoxのnightlyでも動くようにするGreasemonkeyスクリプト

追記:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b1pre) Gecko/20080926210429 Minefield/3.1b1preで、window.Function == Functionがtrueになり、それにともないLivedoorReaderも普通に動くようになりました。下のスクリプトはもう必要ありません。

Firefoxのnightlyだと、LDRが動かない。
Firefox の nightly で LDR が動かない - IT戦記を見て、Functionがおかしくなってると分かったのだけど、Proxyを作ったりするのも面倒臭いので、別のアプローチで動かすことにした。

// ==UserScript==
// @name           LDRFix
// @namespace      http://d.hatena.ne.jp/javascripter/
// @include        http://reader.livedoor.com/reader/
// ==/UserScript==
if (window.top == window.self){
  document.body.innerHTML = "";
  var xhr = new XMLHttpRequest();
  xhr.open("get", location.href, true);
  xhr.onload = function(){
    var iframe = document.createElement("iframe");
    iframe.style.cssText = "width: 100%;height: 100%;border: none;";
    document.body.appendChild(iframe);
    iframe.contentDocument.write(this.responseText + "<script>document.close();</script>");

  };
  xhr.send(null);
}