54 lines
No EOL
1.6 KiB
JavaScript
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();
|
|
}
|
|
}); |