js load script/css/img
by Laurens Maneschijn
May 13, 2020
HTML
example bookmarklet of how to load several sources (in order if needed) and then run code
<hr>
Note that this example loads local files, which is only allowed on pages already local. localhost should be fine though, as will normal http(s) urls.
JavaScript
// javascript:
var load = (function() {
function _load(tag) {
return function(url) {
return new Promise(function(resolve, reject) {
var element, parent, url_attr;
element = document.createElement(tag);
element.onload = function() {
resolve([element, url]);
};
element.onerror = function() {
reject([element, url]);
};
switch(tag) {
case 'img':
parent = document.body;
url_attr = 'src';
break;
case 'script':
parent = document.body;
url_attr = 'src';
element.async = true;
break;
case 'link':
parent = document.head;
url_attr = 'href';
element.type = 'text/css';
element.rel = 'stylesheet';
break;
}
element[url_attr] = url;
parent.appendChild(element);
});
};
}
return {
css: _load('link'),
js: _load('script'),
img: _load('img')
};
})();
var baseurl = 'file:///D:/_BU_2018-04-30/old_c/www';
/*
// var $jquery_v1_7_1;
load.js(baseurl + '/js/jquery-1.7.1.min.js')
.then(function(result){
// $jquery_v1_7_1 = window.$;
// window.$.noConflict(true);
load.js(baseurl + '/js/jquery.tablesorter.min.js')
.then(function(result){
load.js(baseurl + '/js/jq_tabletools.js')
.then(function(result){
load.js(baseurl + '/js/jq_colortools.js')
.then(function(result){
$('table').filter(':not(.tablesorter_initialized)').addClass('tablesorter_initialized').tablesorter().table_selectable();
console.log('click table headers to sort. ctrl/shift/alt click table cells to select table rows/cells.');
$.noConflict(true);
})
.catch(function(result){
$.noConflict(true);
});
})
.catch(function(result){
$.noConflict(true);
});
})
.catch(function(result){
$.noConflict(true);
});
});
*/
// var $jquery_v1_7_1;
load.js(baseurl + '/js/jquery-1.7.1.min.js')
.then(function(result){
// $jquery_v1_7_1 =...