1
0
Fork 0
This repository has been archived on 2024-06-28. You can view files and clone it, but cannot push or open issues or pull requests.
matomo-injector/lib/script.js
2014-05-07 13:56:35 +02:00

54 lines
No EOL
1.6 KiB
JavaScript

var customjs = localStorage['customjs'];
if( customjs ) {
try {
customjs = JSON.parse(customjs);
}
catch(e) { // Old version
customjs = {
src: customjs,
config: {
enable: true,
include: ''
}
};
localStorage['customjs'] = JSON.stringify(customjs);
}
if( customjs.config.enable ) {
if( customjs.config.include ) {
var jquery = document.createElement('script');
jquery.src = 'https://ajax.googleapis.com/ajax/libs' + customjs.config.include;
document.head.appendChild(jquery);
}
if( customjs.src ) {
var cusomscript = document.createElement('script');
cusomscript.src = 'data:text/javascript,' + decodeURI(customjs.src);
setTimeout(function() {
document.body.appendChild(cusomscript);
}, 250);
}
}
}
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
switch(request.method) {
case 'getHost':
sendResponse({host: location.host});
break;
case 'setCustomJS':
localStorage['customjs'] = JSON.stringify(request.customjs);
case 'getCustomJS':
var customjs = JSON.parse(localStorage['customjs'] || '{}');
sendResponse({customjs: customjs});
break;
case 'removeCustomJS':
delete localStorage['customjs'];
break;
default:
sendResponse({src: '', config: {}});
}
if( request.reload ) {
window.location.reload();
}
});