The bookmark:
javascript:(function(){javascript:(function(){ if (window.mo) { } window.mo = { }; var version = 1; rand = Math.random(); var uniqueId = %27gwtw-bookmarklet%27; var script = document.getElementById(uniqueId); if (script) { script.parentNode.removeChild(script); } script = document.createElement(%27script%27); script.setAttribute(%27type%27, %27text/javascript%27); script.setAttribute(%27charset%27, %27UTF-8%27); script.setAttribute(%27src%27, %27\/\/cdn.rawgit.com/marcus-at-localhorst/fa95d030919558062469e56cff468388/raw/f4caa7385a5cdb0627f8cbc9bcc6dcee93ec63a8/bookmarklet.js?r=%27 + rand); script.id = uniqueId; document.documentElement.appendChild(script); script.onload = script.onreadystatechange = function() { var rs = script.readyState; if (!rs || rs === %27loaded%27 || rs === %27complete%27) { script.onload = script.onreadystatechange = null; if (version !== window.mo.version) { alert(%27This bookmarklet is out of date!%27); } else { window.mo.init(); } } }; }());})();
As link:
<a href="javascript:(function(){javascript:(function(){ if (window.mo) { } window.mo = { }; var version = 1; rand = Math.random(); var uniqueId = %27gwtw-bookmarklet%27; var script = document.getElementById(uniqueId); if (script) { script.parentNode.removeChild(script); } script = document.createElement(%27script%27); script.setAttribute(%27type%27, %27text/javascript%27); script.setAttribute(%27charset%27, %27UTF-8%27); script.setAttribute(%27src%27, %27\/\/cdn.rawgit.com/marcus-at-localhorst/fa95d030919558062469e56cff468388/raw/f4caa7385a5cdb0627f8cbc9bcc6dcee93ec63a8/bookmarklet.js?r=%27 + rand); script.id = uniqueId; document.documentElement.appendChild(script); script.onload = script.onreadystatechange = function() { var rs = script.readyState; if (!rs || rs === %27loaded%27 || rs === %27complete%27) { script.onload = script.onreadystatechange = null; if (version !== window.mo.version) { alert(%27This bookmarklet is out of date!%27); } else { window.mo.init(); } } }; }());})();">Markdown Snippet</a>
Raw code, can be compressed on http://mcdlr.com/js-inject/
javascript:(function(){
// avoid the bookmarklet activating more than once
if (window.mo) {
//return;
}
window.mo = { };
var version = 1;
rand = Math.random();
var uniqueId = 'gwtw-bookmarklet';
var script = document.getElementById(uniqueId);
if (script) {
script.parentNode.removeChild(script);
}
script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('charset', 'UTF-8');
script.setAttribute('src', '\/\/cdn.rawgit.com/marcus-at-localhorst/fa95d030919558062469e56cff468388/raw/ff65bf5a19764ec53c3fe5a668013f2bdccca9ce/bookmarklet.js?r=' + rand);
script.id = uniqueId;
document.documentElement.appendChild(script);
script.onload = script.onreadystatechange = function() {
var rs = script.readyState;
if (!rs || rs === 'loaded' || rs === 'complete') {
script.onload = script.onreadystatechange = null;
// initialise or warn if older version
if (version !== window.mo.version) {
alert('This bookmarklet is out of date!');
} else {
window.mo.init();
}
}
};
}());
- https://medium.com/making-instapaper/bookmarklets-are-dead-d470d4bbb626
- https://blog.jonudell.net/2015/05/13/farewell-to-bookmarklets/
- http://www.donnelly-house.net/programming/js/bookmarklets/bookmarklets.php
- http://stackoverflow.com/questions/25531038/content-security-policy-for-extensions-and-bookmarklets
- 233903 - CSP: Bookmarklets should bypass pages' policies. - chromium - Monorail
- plainJS - The Vanilla JavaScript Repository