Greased LightboxをoAutoPagerizeに対応させる方法
以前からちょくちょく要望を見かけていた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です。
ただ、ページを足すたびに毎回初期化処理が走るので、割とコスト高めです。その点はご了承を。