The Internet has a funny way of changing on you.

One day a page says one thing, the next day it says something else.

Sometimes it's nice to be able to unfold everything on a page and then save it for later (or to be able to easily search through all of the content).

Due to concerns I had about a particular campaign, I decided to do just that.

And now you can too!

Use the JavaScript Console!

If you hit ctrl+shift j the JavaScript console will open.

If you can copy and paste these scripts (and then hit enter) it will continue to click the "Show more" and "Read more" / "Show x more replies" links until every update or comment and reply is fully exposed on the page.

View all IndieGoGo Campaign Updates

var pageCount = 0;
var nextPage = 'a[ng-click^="campaignUpdates.seeMore"]';
var expandUpdate = '[ng-click="showMore()"]';

function expandUpdates() {
  $(expandUpdate).each(function (i, el) {
    if (/more/i.test($(el).text())) { $(el).click(); }
  });
}

function showNextPage() {
  expandUpdates();
  if ($(nextPage).length) {
    $(nextPage).click()
    setTimeout(showNextPage, 2000);
    pageCount += 1;
    console.log(pageCount, "There's still more updates...");
  }
}

// begin the loop
showNextPage();

View all IndieGoGo Backer Comments and Replies

If you want to be able to easily search among comments and replies on an IndieGoGo campaign, this will unfold all of them for you (if you're patient).

// allows me to manually intervene, if needed
var keepClickin = true;
var pageCount = 0;
var replyCount = 0;

function showReplies() {
  $('a.commentAction[ng-click^="comment.showReplies"]').each(function (i, el) {
    replyCount += 1;
    console.log(replyCount, "click 'Show x more replies'");
    if (/more/.test($(el).text())) { $(el).click(); }
  });
}

function showComments() {
  showReplies();
  if (keepClickin && $('[ng-click="showMore()"]').length) {
    $('[ng-click="showMore()"]').click()
    setTimeout(showComments, 1000);
    pageCount += 1;
    console.log(pageCount, "There's still more...");
  }
}

// begin the loop
showComments();

This may take a few minutes, and you need to keep the tab in the foreground the entire time that it's running.

View all IndieGoGo Backers

On the tab called "backers" you can see the full list of everyone who has backed a project. It only loads about 10 at a time, so on a successful project it could take... forever.

This little snippet can help you with that:

var pageCount = 0;
function showBackers() {
  if ($('a[ng-click="seeMore()"]').length) {
    pageCount += 1;
    console.log(pageCount, "Still more...");
    $('a[ng-click="seeMore()"]').click();
    setTimeout(showBackers, 1000);
  }
}

showBackers();

Warning, it could take several minutes, and you need to keep the tab in the foreground the entire time that it's running.


By AJ ONeal

If you loved this and want more like it, sign up!


Did I make your day?
Buy me a coffeeBuy me a coffee  

(you can learn about the bigger picture I'm working towards on my patreon page )



Published

2018-2-15



Buy me a coffeeBuy me a coffee


  73% of Goal Reached


Want more like this?