queen
Version:
A platform for running scripts on many browsers
88 lines (74 loc) • 2.18 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<link href="http://fonts.googleapis.com/css?family=Sanchez" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="favicon.png" />
<link rel="stylesheet" href="/queen.css" type="text/css">
</head>
<body>
<h1>
<img id="logo" src="favicon.png" />
<span id="Status"></span>
</h1>
<script src="socketio.js"></script>
<script src="queen.js"></script>
<script>
var config = {};
if(typeof console !== "undefined"){
config.logger = function(message){
console.log(message);
};
}
var workerProvider = Queen("//" + window.location.host + "/capture", config);
// UI
var workerCount = 0;
var available = true;
var connected = false;
var statusElement = document.getElementById('Status');
function updateStatus(){
var status;
if(connected){
status = "Connected to " + window.location.host;
if(available && workerCount){
status += ", hosting " + workerCount + " workers";
} else if(!available){
status += ", at maximum capacity (" + workerCount + " workers)";
}
} else {
status = "Trying to connect to " + window.location.host;
}
statusElement.innerText = status;
}
updateStatus();
workerProvider.on('connect', function(){
connected = true;
updateStatus();
});
workerProvider.on('disconnect', function(){
connected = false;
updateStatus();
});
workerProvider.on('available', function(){
available = true;
statusElement.innerText = "Connected to " + window.location.host;
updateStatus();
});
workerProvider.on('unavailable', function(){
available = false;
updateStatus();
});
workerProvider.on('worker', function(worker){
workerCount++;
document.title = "(" + workerCount + ") Queen";
updateStatus();
});
workerProvider.on('workerDead', function(workerId){
workerCount--;
document.title = "(" + workerCount + ") Queen";
updateStatus();
});
</script>
</body>
</html>