chrome extension dynamically add javascript

JavaScript
// content script
chrome.runtime.sendMessage({
    injectScript : true,
  	filename:'/scripts/myfile.js'
  }, function(response) {
  if(response.done) {
  	//handle something when script is done
  }
});

// background script
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
  if(message.injectScript){
    chrome.tabs.executeScript(sender.tab.id, {file: message.filename}, function() {
      sendResponse({ done: true });
    });
    return true; // Required for async sendResponse()
  }
});//inject another js file from content script w/ callback
function injectScript(file, node,callback) {
    var th = document.getElementsByTagName(node)[0];
    var s = document.createElement('script');
    s.setAttribute('type', 'text/javascript');
    s.setAttribute('src', file);
    s.onload = function() {
        callback();
    };
    th.appendChild(s);
}

injectScript(chrome.extension.getURL('myscript.js'), 'body',function(){
//mysript.js is done loading
});
Source

Also in JavaScript: