framework.js
function loadStyle(href){
// avoid duplicates
for(var i = 0; i < document.styleSheets.length; i++){
if(document.styleSheets[i].href == href){
return;
}
}
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = href;
head.appendChild(link);
}
function loadScript(src){
const url = src;
const viewUrl = browser.runtime.getURL(url);
const request = new RB.Request(viewUrl);
request.handleText(function(text){
try {
console.log('handle text');
const script = document.createElement('script');
script.innerHTML = text.trim();
document.body.appendChild(script);
} catch (e) {
console.log(e);
}
});
console.log('as html');
}
function loadView(url){
const viewUrl = browser.runtime.getURL(url);
const request = new RB.Request(viewUrl);
request.handleText(function(text){
try {
const div = document.createElement('div');
div.innerHTML = text.trim();
document.body.appendChild(div);
} catch (e) {
console.log(e);
}
});
}