AutoPagerize と LDRize の連携不具合への対応

autopagerize version 0.0.21 で bugfix されているのでもうこの内容はお役ごめんです。

LDRizeのsnj14さんよりご連絡いただきましたので、こちらに転載。

AutoPagerizeLDRize(AutoPagerizeのフィルタを使うスクリプト)の連携はこれでいけるみたいです。

--- autopagerize.user.js~	2008-01-05 23:31:37.000000000 +0900
+++ autopagerize.user.js	2008-01-05 23:47:01.000000000 +0900
@@ -257,8 +257,8 @@
         return
     }
     this.loadedURLs[this.requestURL] = true
+    page = this.addPage(htmlDoc, page)
     AutoPager.apply_filters(page)
-    this.addPage(htmlDoc, page)
     this.requestURL = url
     this.showLoading(false)
     if (!url) {
@@ -274,9 +274,10 @@
     this.insertPoint.parentNode.insertBefore(p, this.insertPoint)
     p.innerHTML = 'page: <a class="autopagerize_link" href="' +
         this.requestURL + '">' + (++this.pageNum) + '</a>'
-    page.forEach(function(i) {
+    return page.map(function(i) {
         var pe = document.importNode(i, true)
         self.insertPoint.parentNode.insertBefore(pe, self.insertPoint)
+        return pe
     })
 }

via http://d.hatena.ne.jp/swdyh/20071219/1198057046 のコメント欄とのことでっす。

まだ試してない。

追記:
たぶんpatch間違っているとおもう。正解はコッチ。

--- autopagerize.user.orig.js	Tue Jan 08 16:33:15 2008
+++ autopagerize.user.js	Tue Jan 08 16:57:12 2008
@@ -257,7 +257,7 @@
         return
     }
     this.loadedURLs[this.requestURL] = true
-    this.addPage(htmlDoc, page)
+    page = this.addPage(htmlDoc, page)
     AutoPager.apply_filters(page)
     this.requestURL = url
     this.showLoading(false)
@@ -274,9 +274,10 @@
     this.insertPoint.parentNode.insertBefore(p, this.insertPoint)
     p.innerHTML = 'page: <a class="autopagerize_link" href="' +
         this.requestURL + '">' + (++this.pageNum) + '</a>'
-    page.forEach(function(i) {
+    return page.map(function(i) {
         var pe = document.importNode(i, true)
         self.insertPoint.parentNode.insertBefore(pe, self.insertPoint)
+        return pe
     })
 }

つうことでAutopagerize + LDRizeが目を覚ましました。