onmessage = function(e) { if (e.data.length < 3) { console.log('Message not processed'); } else if (e.data[2].toLowerCase().replace('ozemail.com.au/~mkuulma/','rjmprogramming.com.au/').replace('localhost:8888/','rjmprogramming.com.au/').indexOf('rjmprogramming.com.au/') != -1) { console.log('Message received from main script ... ' + e.data[2]); var workerResult = ''; if (e.data[1].indexOf('/') != -1) { workerResult = 'Result: ' + eval(eval(e.data[0]) / eval(e.data[1].replace('/',''))); } else if (e.data[1].indexOf('-(') != -1) { workerResult = 'Result: ' + eval(eval(e.data[0]) - (eval(e.data[1].replace(')','').replace('-(','')))); } else if (e.data[1].indexOf('+') != -1) { workerResult = 'Result: ' + eval(eval(e.data[0]) + eval(e.data[1].replace('+',''))); } else if (e.data[1].indexOf('*') != -1) { workerResult = 'Result: ' + eval(eval(e.data[0]) * eval(e.data[1].replace('*',''))); } else { workerResult = 'Result: ' + (Math.pow(e.data[0], e.data[1])); } console.log('Posting message back to main script'); postMessage(workerResult); } else { console.log('Message unprocessed'); } }