iPhone の Safari で、時々、今見ているページのソースコードが見たくなることがある。で検索してみると、いろんな人がブックマークレット (ブックマーク) を作ってた。一つリンクを張っておく。
せっかくなので、どういうソースコードなのか見てみる。
d=document;
c=d.charset%7C%7C0;
i=0;
o=d.documentElement;
d.write(%22%3Cpre%3E%22+(o.outerHTML%7C%7Co.innerHTML).replace(/&/g,%22&%22).replace(/%3C/g,%22<%22).replace(/%3E/g,%22>%22)+%22%3C/pre%3E%22);
c?d.charset=c:0;
void(document.close());
%XX 表記が読み難い。デコード! (ref. JavaScript escape vs encodeURI: lower ASCII)
d=document;
c=d.charset||0;
i=0;
o=d.documentElement;
d.write("<pre>"
+(o.outerHTML||o.innerHTML).replace(/&/g,"&")
.replace(/</g,"<")
.replace(/>/g,">")
+"</pre>");
c?d.charset=c:0;
void(document.close());
読みやすくなった。
変数 o
に全てのドキュメント要素を入れて、それを pre
要素の中に書き出し直すようにしているわけね。その際、&, <, > といったタグの部品を読めるように置換する、と。なるほどねぇ。勉強になった。
No comments:
Post a Comment