Steve Desmond
* must be called from a short-lived event handler[element].requestFullscreen();
document.exitFullscreen();
function goFullscreen() {
document.documentElement.requestFullscreen();
}
function endFullscreen() {
document.exitFullscreen();
}
[element].requestFullscreen();
[element].msRequestFullscreen();
[element].mozRequestFullScreen();
[element].webkitRequestFullscreen();
Enter msMozWebkit.js
navigator.geolocation.getCurrentPosition(someCallback);
navigator.geolocation.getCurrentPosition(displayPosition);
(yes, that The Guardian)
Volunteer?
Launch the GitHub Pull Request Selfie GIF Automator
navigator.getUserMedia(options, successCallback, errorCallback);
function successCallback(stream) { ... }
Type | Firefox | Chrome | Opera | IE | Safari |
---|---|---|---|---|---|
MP4 | |||||
WebM | |||||
Ogg |
<audio/>
function showVideo(stream) { jQuery('#webcam')[0].videoSource(stream); }
function startWebcam() { navigator.getUserMedia({ video: true }, showVideo, errorHandler); }
localStorage.setItem('someKey', 'someValue');
var x = localStorage.getItem('someKey');
sessionStorage.setItem('someKey', 'someValue');
var x = sessionStorage.getItem('someKey');
* usually limited to 5-10 MB per domain
function handleWorkerMessage(event) { jQuery('#worker-response').html(event.data); } function runWorker() { var bee = new Worker("js/worker.js"); bee.onmessage = handleWorkerMessage; }
[worker.js]: postMessage('text');
(awaiting message...)
Notification.requestPermission(callback);
new Notification([title], { body: [body] });
~$ npm install -g cordova
~$ cordova create [newdir] --link-to=[webapp]
~$ cordova platform add [platform]
~$ cordova build
~$ cordova run