|
I've finally found an update that I understand enough to implement myself! It may not be the most efficient way, but it seems to work.
===Patch File===
diff -rau old/facebook_view_photo_in_a.user.js new/facebook_view_photo_in_a.user.js
--- old/facebook_view_photo_in_a.user.js 2008-11-30 01:42:13.000000000 +0000
+++ new/facebook_view_photo_in_a.user.js 2008-11-30 01:42:18.000000000 +0000
@@ -51,7 +51,7 @@
}
}
} else if (/\/profile\.php\?id=\d+&v=photos$/.test(foo)) {
- navLinks = document.evaluate('//div[@id="photosofme_wrapper_pager"]/ul[@class="pagerpro"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+ navLinks = document.evaluate('//div[@id="photos_of_wrapper_pager"]/ul[@class="pagerpro"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
li = document.createElement("li");
li.innerHTML = '(View All Photos)'
li.addEventListener(
@@ -61,11 +61,12 @@
navLinks = this.parentNode;
personId = foo.match(/\/profile\.php\?id=(\d+)&v=photos$/)[1]
userId = document.getElementById("fb_menu_profile").getElementsByTagName("a")[0].href.match(/\d+/)[0]
- currentNo = parseInt(document.evaluate('//div[@id="photosofme_wrapper_pager"]/ul[@class="pagerpro"]/li[@class="current"]/a', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.textContent);
+ currentNo = parseInt(document.evaluate('//div[@id="photos_of_wrapper_pager"]/ul[@class="pagerpro"]/li[@class="current"]/a', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.textContent);
nextNo = currentNo + 1;
prevNo = currentNo - 1;
prevDone = false;
nextDone = false;
+ mpsString = "&v=photos&action=page§ion=photos_of&pagers=%7B%22photos_by%22%3A%7B%22count%22%3A12%2C%22start%22%3A0%2C%22page_size%22%3A4%2C%22start_param%22%3A%22sb%22%7D%7D&extra_data=%7B%7D&so="
tryAgainCount = 0
function getPage(link, prev) {
@@ -82,12 +83,12 @@
tryAgainCount = 0
if (keepGoing) {
images = res.slice(res.indexOf(" ") + 4).replace(/\\"/g, '"').replace(/\\\//g, "/");
- prev ? document.getElementById("photosofme_wrapper").innerHTML = images + document.getElementById("photosofme_wrapper").innerHTML
- : document.getElementById("photosofme_wrapper").innerHTML += images;
+ prev ? document.getElementById("photos_of_wrapper").innerHTML = images + document.getElementById("photos_of_wrapper").innerHTML
+ : document.getElementById("photos_of_wrapper").innerHTML += images;
if (!/ prev ? prevDone = true : nextDone = true
else
- getPage("http://www.facebook.com/ajax/photos.php?id=" + personId + "&vm=photosofme&viewer=" + userId + "&s=" + (prev ? prevNo-- : nextNo++) + "&v=photos", prev)
+ getPage("http://www.facebook.com/ajax/photos.php?id=" + personId + mpsString + ((prev ? prevNo-- : nextNo++)-1)*15, prev)
if (prevDone && nextDone)
navLinks.parentNode.removeChild(navLinks);
}
@@ -102,11 +103,11 @@
});
}
if (navLinks.innerHTML.match(/prev/i))
- getPage("http://www.facebook.com/ajax/photos.php?id=" + personId + "&vm=photosofme&viewer=" + userId + "&s=" + prevNo-- + "&v=photos", true)
+ getPage("http://www.facebook.com/ajax/photos.php?id=" + personId + mpsString + (prevNo-- -1)*15, true)
else
prevDone = true
if (navLinks.innerHTML.match(/next/i))
- getPage("http://www.facebook.com/ajax/photos.php?id=" + personId + "&vm=photosofme&viewer=" + userId + "&s=" + nextNo++ + "&v=photos", false)
+ getPage("http://www.facebook.com/ajax/photos.php?id=" + personId + mpsString + (nextNo++ -1)*15, false)
else
nextDone = true
navLinks.innerHTML = " (Stop Loading Images)"
===Full script===
Hosted at http://d7415.no-ip.org/facebook_view_photo_in_a... until it's updated here.
|