Current as of Thing 0.2.4
- One sentence description of thing and its purpose
- Who/where/what/when/why
| function say(phrase) { | |
| speechSynthesis.speak(new SpeechSynthesisUtterance(phrase)); | |
| } | |
| // words: array of strings | |
| function addSpeech(words) { | |
| var speechrecognitionlist = new SpeechGrammarList(); | |
| speechrecognitionlist.addFromString( | |
| "#JSGF V1.0; grammar test; public <simple> = " + | |
| words.join(' | ') + ' ;', 1); |
| /chrome.manifest: | |
| component {a5d89cee-85f4-44ad-b8eb-39ad39170823} components/helloworldapi.js | |
| contract @mozilla.org/helloworld;1 {a5d89cee-85f4-44ad-b8eb-39ad39170823} | |
| category JavaScript-navigator-property helloworld @mozilla.org/helloworld;1 | |
| /components/helloworldapi.js: | |
| Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); |
| /* | |
| Quick and easy conversion of nodelist to array. | |
| You're on your own for error handling - invalid selectors throw an exception! | |
| Example: | |
| qsa['.fooble'].forEach(function(node) { | |
| // do stuff |
| if (navigator.mozSetMessageHandler) { | |
| function NFCActivityHandler(activity) { | |
| var text = activity.source.data.text; | |
| if (!text) { | |
| updateText('No text record') | |
| } | |
| else if (text.indexOf('bcm:') === 0) { | |
| var email = text.substr(4) | |
| registerRider(email) | |
| updateText('Registered ' + email) |
| Firefox OS News Reader | |
| Software Requirements Document | |
| (Draft 1, May 2014) | |
| Christopher Behrens, Randal Holmes, Nhan Huynh, | |
| Michael Kuvelas, Mike Messuri-Zhang, Jeremy Sample, Josh Willhite | |
| <div id="myElement">asdfa</div> | |
| <script> | |
| var element = document.querySelector('#myElement') | |
| element.addEventListener('dblclick', makeEditable, false) | |
| function makeEditable(e) { | |
| var editable = e.target, | |
| input = document.createElement('input') | |
| input.value = editable.textContent |
| # cleanup | |
| rm -rf objdir-gecko && rm -rf out | |
| # .userconfig | |
| export BRANCH=master | |
| export HIDPI=1 | |
| export NOFTU=1 | |
| # configure |
| function installAppFromManifestObj(obj) { | |
| //const {Cc, Ci, Cu, Cm} = require('chrome') | |
| var Cu = Components.utils | |
| Cu.import("resource://gre/modules/WebappsInstaller.jsm") | |
| var installParam = { | |
| app: { | |
| manifest : obj, | |
| origin: obj.url | |
| } | |
| } |
| <button id="signin">Sign in</button> | |
| <script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script> | |
| <script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-simple-login.js'></script> | |
| <script type='text/javascript' src='https://login.persona.org/include.js'></script> | |
| <script type='text/javascript'> | |
| var chatRef = new Firebase('https://SampleChat.firebaseIO-demo.com'), | |
| signedIn = false |