読者です 読者をやめる 読者になる 読者になる

Greased LightboxをoAutoPagerizeに対応させる方法

Greasemonkey

以前からちょくちょく要望を見かけていたGreased Lightboxへの対応について。
できればoAutoPagerize側だけで、Greased Lightboxには手を入れずになんとかできないかと考えてはいたのですが、やはりどうにもなりませんでした…
polog@81s - 1981sで書かれている通り、Greased Lightbox側を弄れば動きます。
より確実にするためには、最新の(o)AutoPagerizeで、GM_AutoPagerizeLoadedを使うのがベターです。(AutoPagerize ver 0.0.35, oAutoPagerize ver 1.2.2以降)

(function(){
	var boot = function(){window.AutoPagerize.addFilter(function(docs){greasedLightbox.init();});};
	window.AutoPagerize ? boot() : window.addEventListener('GM_AutoPagerizeLoaded',boot,false);
})();
2011/4/16追記

最近だとたぶんこれだけでOKかな

window.addEventListener('GM_AutoPagerizeNextPageLoaded',function(){
  greasedLightbox.init();});
},false);

AutoPatchWorkの場合、

window.addEventListener('AutoPatchWork.pageloaded',function(){
  greasedLightbox.init();});
},false);


これをGreased Lightboxのソースの最後(if (document.body) greasedLightbox.init();の後ろ)に追加してあげればOKです。
ただ、ページを足すたびに毎回初期化処理が走るので、割とコスト高めです。その点はご了承を。