console.logが出ない
どのツイッターのページでもいいので開発ツールを開いてconsole.log
を実行して欲しい。
console.logの実行結果
> console.log("hello")
< undefined
なんとconsole.log
の結果が出力されないではないか
ツイッター社はJavaScriptの標準関数を置き換えて開発者に嫌がらせしているようだ。1
console.logを取り戻す
console.logを取り戻すスニペット
(function regainConsoleLogFromTwitter() {
if (!/^https?:\/\/twitter\.com/.test(document.URL)) return;
var iframe = document.getElementsByTagName("iframe");
if (iframe.length) {
iframe = iframe[0];
} else {
iframe = document.createElement("iframe");
document.body.insertAdjacentElement("beforeend", iframe);
}
console.log = iframe.contentWindow.console.log;
})();
iframeから正常なconsole.log
を持ってきてconsole.log
に上書きする。
console.logの実行結果
> console.log("hello")
hello
< undefined
正常な動作を取り戻せた
-
console.log
の値がツイッター社にツイートされている疑いすらある。 ↩