iPadで簡易”view-source”

撮影した写真をその場で確認したり、机の前に置いて見るだけの高価なフォトフレーム化しているiPad(^^;;

先日、iPadのブラウザでホームページを巡回していたら、ちょっと気になったページがあって、HTMLソースを見ようとしたら・・・・見れない。というか、iPadのSafariは、ソースを見ることができない・・・。ダメ元で、アドレスバーに “view-source:http://hoge~ “と入力してみたけど、「アドレスが無効です」とかいうエラー。ま、当然やな。

しょうがないので、ブックマークレットでなんとかやってみる。

とりあえず、どこかのページを開いてブックマークを追加し、ブックマークの編集でURLに以下をコピペ。

javascript:(function(){var w=window.open();var d=w.document.open();var t=window.document.getElementsByTagName("html").item(0).outerHTML; t=t.replace(/</g,"&lt;");t=t.replace(/>/g,"&gt;");t=t.replace(/ /g,"&nbsp;");t=t.replace(/\n/g,"<br>"); t=t.replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"); d.writeln("<!doctype html>");d.writeln("<html><head><title>View-Source</title><style type='text/css'><!-- body{font-size:12pt;} --></style><body>",t,"</body></html>");})();

やってることは、<,>と空白、タブ、改行をエスケープして貼り付けてるだけ。TextNodeを生成して<pre>タグに放り込めばもっと短くなるんだけど、非常に長い行があるソースだと改行されず非常に見づらいのであえてメタ文字をエスケープしてBODY要素に放り込んでます。

検索すると、ソースそのものを外部サーバーに送って整形する・・・という手法が一般的みたいですが、「ちょっとだけ確認したいんや!」という用途にはちょうどいいかな、と自己納得w

そういえば・・・ iPad mini って出るんですかね?出ても買えないけど。