閲覧中のページをXMLとして見るブックマークレットを作った。ウェブ・ページのソースをFirefoxのツリー表示なXMLビューワーで見るという意味。タイトルは適当。良い名前を思いつかなかった。Firebug使えって感じではある。
Bookmarklet: View as XML
うちのサイトでやるとツリーにならない。原因がまるでわかってないので直せそうかもわからない。W3C HTMLやMozilla Japanとかで試すと良い。以下、ちょっと便利なところ。
内容は簡単でソースも短い。見やすく整形すると以下のようになる。
var xmlSerializer = new XMLSerializer();
var html = document.documentElement;
var src = xmlSerializer.serializeToString(html).replace(/></g, ">\n<");
var dataURI = "data:application/xml," + encodeURIComponent(src);
location.href = dataURI;
まずXMLSerializer
を使ってソース全体を取得する。そして、"data" URLスキームを利用して強制的にapplication/xml
として開いてやる。これだけ。最初XMLSerializer
を知らなくて、body
以下で妥協しようとしてた。
Internet Explorer対応とかはYQL使ってURLからソースを取得とかすると出来るかも。
ブックマークレット熱が再燃してる。もうネタ無いけど。