Skip to content

Instantly share code, notes, and snippets.

@michaelwills
Forked from spalger/gist:6417923
Last active August 29, 2015 14:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save michaelwills/e09e121808c2c72d34bd to your computer and use it in GitHub Desktop.
Save michaelwills/e09e121808c2c72d34bd to your computer and use it in GitHub Desktop.
Inject jQuery and loads into current webpage
// convert to bookmarklet here:
// http://mrcoles.com/bookmarklet/
javascript: (function () {
var jv = '2.1.4';
var lv = '3.9.3';
var el = document.createElement('pre'),
b = document.getElementsByTagName('body')[0],
otherjQuery = false,
msg = '',
libs = [
function loadjQuery() {
if (typeof jQuery != 'undefined') {
showMsg('This page already using jQuery v' + jQuery.fn.jquery);
} else {
if (typeof $ == 'function') {
otherjQuery = true;
}
getScript('//cdnjs.cloudflare.com/ajax/libs/jquery/' + jv + '/jquery.js', function () {
if (typeof jQuery == 'undefined') {
showMsg('Sorry, but jQuery wasn\'t able to load')
} else {
showMsg('This page is now jQuerified with v' + jQuery.fn.jquery + otherjQuery ? ' and noConflict(). Use $jq(), not $().' : '');
}
});
}
},
function loadLodash() {
if (typeof _ != 'undefined') {
showMsg('This page already using lodash v' + _.VERSION);
}
getScript('//cdnjs.cloudflare.com/ajax/libs/lodash.js/' + lv + '/lodash.min.js', function () {
showMsg('This page is now has lodash');
});
}
];
el.style.position = 'fixed';
el.style.top = '0';
el.style.padding = '5px 10px';
el.style.zIndex = 9001;
el.style.fontSize = '12px';
el.style.color = '#222';
el.style.backgroundColor = '#f99';
function getScript(url, success) {
var script = document.createElement('script');
script.src = url;
var head = document.getElementsByTagName('head')[0],
done = false;
script.onload = script.onreadystatechange = function () {
if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
done = true;
success();
script.onload = script.onreadystatechange = null;
head.removeChild(script);
}
};
head.appendChild(script);
}
function showMsg(msg) {
if (!document.body.contains(el)) {
b.appendChild(el);
}
el.appendChild(document.createTextNode(msg + '\n'));
window.setTimeout(function () {
if (typeof jQuery == 'undefined') {
b.removeChild(el);
} else {
jQuery(el).fadeOut('slow', function () {
jQuery(this).remove();
});
if (otherjQuery) {
$jq = jQuery.noConflict();
}
}
}, 2500);
}
libs.forEach(function (init) {
init();
})
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment