Skip to content

Instantly share code, notes, and snippets.

@michael-benin-CN
Created July 28, 2014 18:04
Show Gist options
  • Save michael-benin-CN/8e902ea7c810f38f705d to your computer and use it in GitHub Desktop.
Save michael-benin-CN/8e902ea7c810f38f705d to your computer and use it in GitHub Desktop.
Source Map Bookmarklet
javascript: void(
(function (global, oDOC, handler) {
var head = oDOC.head || oDOC.getElementsByTagName('head');
function LABjsLoaded() {
window.sourceMapSupport.install();
}
// loading code borrowed directly from LABjs itself
setTimeout(function () {
if ('item' in head) { // check if ref is still a live node list
if (!head[0]) { // append_to node not yet ready
setTimeout(arguments.callee, 25);
return;
}
head = head[0]; // reassign from live node list ref to pure node ref -- avoids nasty IE bug where changes to DOM invalidate live node lists
}
var scriptElem = oDOC.createElement('script'),
scriptdone = false;
scriptElem.onload = scriptElem.onreadystatechange = function () {
if ((scriptElem.readyState && scriptElem.readyState !== 'complete' && scriptElem.readyState !== 'loaded') || scriptdone) {
return false;
}
scriptElem.onload = scriptElem.onreadystatechange = null;
scriptdone = true;
LABjsLoaded();
};
scriptElem.src = 'https://raw.githubusercontent.com/evanw/node-source-map-support/master/browser-source-map-support.js';
head.insertBefore(scriptElem, head.firstChild);
}, 0);
// required: shim for FF <= 3.5 not having document.readyState
if (oDOC.readyState == null && oDOC.addEventListener) {
oDOC.readyState = 'loading';
oDOC.addEventListener('DOMContentLoaded', handler = function () {
oDOC.removeEventListener('DOMContentLoaded', handler, false);
oDOC.readyState = 'complete';
}, false);
}
})(window, document);
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment