あとはわかるよな?
var ss = document.evaluate("//a",document,null,7,null);
for(var i = 0; i<ss.snapshotLength; i++) {
var url = ss.snapshotItem(i).getAttribute("href");
if (url && url.search(/(jpg|jpeg|png)$/) != -1) window.open(url);
}
すごくざっくりとした解説
XPath による DOM エレメントの抽出
1行目の document.evaluate() は、XPath を使って DOM を抽出するメソッドです。
DOM 抽出は jQuery が使えるならそのほうが楽なんですが、FireFoxのグリースモンキーや、Chromeのユーザースクリプト、ブックマークレットのように jQuery が使えないときに、その代用として使えます。また、ネイティブ実装によって処理されるので、jQueryより検索が早くなる事が期待できます。
引数が5個ありますが、とりあえず使うのは、第1,4引数だけです。
-第1引数の "//a" は 「 a タグを、ルート要素からの子孫要素内について検索」のXPath 表記です。"//" は子孫要素内の検索を意味し、"a" は a タグを指定しています。そして、最初に何も書いてないのでルートからの検索になります。
-第4引数は9なら最初1個だけ抽出、7なら全部抽出、と覚えておけばよいです。
あとの引数は、とりあえず固定でかまいません。
詳しくは https://developer.mozilla.org/ja/Introduction_to_using_XPath_in_JavaScript ここら辺を参照してみてください。XPathの構文については、なんだかんだでwikipediaが分かりやすかったです。ググって調べてください。
抽出結果の取得
さて、これで XPath の条件にあった DOM エレメントが抽出されました。次以降の for 文では、抽出した要素を抜き出しています。
evaluate メソッドの返値は snapshot と呼ばれるオブジェクトで、snapshotLengthというプロパティとsnapshotItem()というメソッドを持っています。抜き出し方は簡単で、snapshotLengthで抽出した要素数を取得して、そのインデックスをsnapshotItem()に渡せばDOMエレメントが返ってきます。3行目では、返ってきたDOMエレメントから直接 href の値を取得しています。
あとは、取得したリンク先の最後が、jpg、jpeg、png のどれかなら window.open() しておしまいです。