ZAKZAKのパラパラページbookmarklet
ZAKZAKで、よく「クリックで画像がパラパラマンガのように切り替わります」ってのをやってるが、これは原始的に連番の画像表示ページを次の連番ページへのリンクとしている。個々の画像自体の容量はそれほどじゃないはずだが、タイトル部やら記事回りの他記事へのリンクが多すぎて、パラパラめくるという感じにはならない。そこで、そのページの画像だけを表示して、次への連番画像へのリンクを生成する bookmarklet を書いてみた。
javascript:(zakimg=function(n){var b=document.location.toString();b=b.replace(/[0-9][0-9]_b.jpg/,”);s=n;if(n<10){s=’0’+s;};createElement(‘div’).innerHTML=n+'<br><a href=”javascript:zakimg(‘+(n+1)+’)”><img src=”‘+b+s+’_b.jpg” border=”0″></a><br><a href=”http://www.zakzak.co.jp/”>ZAKZAK</a>’;})(1)
現在のところ、表示ページの指定は直接書き込むしかないが、できれば該当表示ページで bookmarklet を動かしたときにリンクを取得して表示開始になるといいんだが。ひとまずこの出来で。変数bに表示urlを指定しているが、画像URLがドロップされたらXX_b.imgを自動で除けばいいかな。→表示中のdocumen.locationを取得して、それをベースurlとするようにしました。なので、該当パラページで画像のみ表示(表示指定しているURLに特別な意図はありません…)にしてからこのbookmarkletを実行して下さい。→ってか、Firefoxのせいか画像のみ表示にしているときにはinnerHTMLがうまく動かないのか、代入した文字列がHTMLとして扱われずテキストとして表示されてしまうようだ…。えーと…?
あと、javascript には printf はないんですね?見てもらうとわかるように%02dの処理は1桁連番の場合に強引にゼロを頭に付け足してます。
※WordPressのビジュアルエディタは入力するリンクのURLの長さに制限があるのか、上記程度のbookmarkletでもsrc=のあたり以降から切れてしまう。常にこの位置のようなので、長さの制限ではなく、リンク文字列判定が弱いのか?