I'm opening a tab and trying to call a function defined in it but i always get a "reference error". I send a message to the script after the script is loaded asking to run "test1" function located on the tab code.
Here is my code:
Extention code
chrome.tabs.executeScript(tab.id, {file: "script.js", runAt: "document_end"}, function(array){  
    //send message executeTest to the created tab
    chrome.tabs.sendMessage(tab.id, {msg: "executeTest"});
});
script.js
url = document.URL; 
window.addEventListener("load", doStuff, true);
function doStuff(){
    //listen for messages coming from extension
    chrome.runtime.onMessage.addListener(
        function(message, sender) {
            var msg = message.msg;
            var url = message.url;    
            switch(msg){
                case "executeTest":
                    test1();
                break;
            }
        }
    );
}  
Tab HTML
<head>
<title>Test</title>
</head>
<body>
    <script src="app.js"></script>
</body>
</html>
Tab Javascript
function test1(){
    console.log("test1 is running!");
}
I receive the message on the script but it's not possible to execute "test1()".
What am i doing wrong ?
 
     
    