Fixing These jQuery! A Guide to Debugging

You cannot combine the previous two non-working techniques to create something that works

Don’t feel bad, everybody tries this once

function getContent() {
  var stuff;
  $.get("remote.php",function(data) {
    stuff = data;
  });
  return stuff;
}
var newContent = getContent(); // newContent === undefined
This is a very bad idea. Just like $.get() does not wait for the callback to finish, neither will the containing getContent function

Help Vampires: A Spotter’s Guide

Help Vampires are virtual bedouins. They move into a community—as soon as they sense its vibrancy and intelligence. Often they leave (“give up,” in their eyes) when they have exhausted all the resources, leaving the community itself drained and adrift.

This gypsy-like behavior incurs a secondary effect which further cripples the community, and persists even after the Help Vampire problem has passed. Often the “best and brightest,” sensing the outflux of decent conversation, retreat into Walled Garden communities which the Help Vampire can rarely penetrate. In this way the individuals are sheltered from the painful effects of Help Vampire attacks, but they also make themselves inaccessible to non-Help Vampire users as well. This effect can be the last straw that leaves the community devoid of experts and utterly without hope.

Webpagetest: Test a website’s performance

Run a free website speed test from multiple locations around the globe using real browsers (IE and Chrome) and at real consumer connection speeds. You can run simple tests or perform advanced testing including multi-step transactions, video capture, content blocking and much more. Your results will provide rich diagnostic information including resource loading waterfall charts, Page Speed optimization checks and suggestions for improvements.