Action At A Distance Google Demo

Your Spooky UUID: {{uuid}}
Loading...
{{link}}

Code Sample

var startUrl = 'http://www.google.com';
var spookyActions = [];

spookyActions.push('$(\'input[name="q"]\').val("CASPERJS");' +
    '$(\'button[name="btnK"]\').submit();');
spookyActions.push('$("h3.r a").livequery(function() { ' +
    'var links=document.querySelectorAll("h3.r a");' +
    'links=Array.prototype.map.call(links,function(e){return e.getAttribute("href")});' +
    'var spookyResult = {data: links};' +
    'ActionAtADistance.saveHtmlText(links);' +
    'ActionAtADistance.sendCallback(spookyResult);' +
    '});');

var googleActionAtADistance = ActionAtADistance();

googleActionAtADistance.onConnect(function() {
    googleActionAtADistance.start(startUrl);
});

googleActionAtADistance.onDocumentLoaded(function(documentLocationHref) {
    loadSpookyAction(documentLocationHref);
});

googleActionAtADistance.onEvaluateResponse(function(data) {
    spooky = data.result;
});

function loadSpookyAction(documentLocationHref) {
    if (documentLocationHref === 'http://www.google.com') {
        spookyAction = spookyActions[0];
    } else if (documentLocationHref !== 'http://www.google.com') {
        spookyAction = spookyActions[1];
    }
}

actionAtADistance = function() {
    googleActionAtADistance.evaluate({action: spookyAction});
};