Skip to content

Instantly share code, notes, and snippets.

View EragonJ's full-sized avatar
🇯🇵
Learning Japanese

Ryu | Chia-Lung Chen EragonJ

🇯🇵
Learning Japanese
View GitHub Profile
@EragonJ
EragonJ / gist:11164539
Created April 22, 2014 03:32
Mingle different events together.
var obj = {
bindEvent: function() {
// Dom event
var dom = document.getElementById('dom');
dom.addEventListener('change', this);
// window event
window.addEventListener('localized', this);
},
handleEvent: function(evt) {
window.addEventListener('iac-ftucomms', function() {
var message = evt.detail;
if (message === 'done') {
self.setBypassHome(true);
}
});
window.navigator.mozSetMessageHandler('connection',
function onConnected(request) {
var keyword = request.keyword;
var port = request.port;
port.onmessage = function onReceivedMessage(evt) {
// this is the message you sent
var message = evt.data;
// do whatever you want to do later
};
{
"connections": {
"ftucomms": {
"description": "Communicate between communications/ftu and System",
"rules": {}
}
}
}
if (this.currentStep > this.numTutorialSteps) {
Tutorial.tutorialScreen.classList.remove('show');
Tutorial.tutorialFinish.classList.add('show');
// for large devices, we have to use IAC to tell system ftu is done
if (this.layout !== 'tiny') {
navigator.mozApps.getSelf().onsuccess = function(evt) {
var app = evt.target.result;
app.connect('ftucomms').then(function onConnAccepted(ports) {
ports.forEach(function(port) {
@EragonJ
EragonJ / gist:7366183
Created November 8, 2013 04:14
grep and update
ack -l 'pattern' | xargs perl -pi -E 's/pattern/replacement/g'
@EragonJ
EragonJ / gist:7300364
Created November 4, 2013 09:49
Template 2 with Handlebars.js
<script id="entry-template" type="text/x-handlebars-template">
<div id="tmpl">
<h1 class="header">{{header}}</h1>
<p class="content">{{content}}</p>
</div>
</script>
<body>
<div class="target"></div>
</body>
@EragonJ
EragonJ / gist:7300164
Last active December 27, 2015 08:59
Template 1 with jQuery
$(document).ready(function(){
// you can cache this $tmpl for later use
var $tmpl = $("#tmpl").remove().clone();
$tmpl.find(".header").text("This is header");
$tmpl.find(".content").text("This is Content");
$tmpl.removeClass("hide");
$(".target").append($tmpl);
});
var div = document.getElementsByTagName("div");
for ( var i = 0; i < div.length; i++ ) {
for ( var e = 0; e < elems.length; e++ ) {
div[i].appendChild( elems[e].cloneNode(true) );
}
}
@EragonJ
EragonJ / gist:6085838
Created July 26, 2013 03:12
FED Notes ...
  • Precise Selector ( Loose when necessary )