What I want is simple. The user clicks on the icon of the extension and a JS code is executed showing a prompt box asking for two values. But I cannot figure out how to link the JS with the popup.html correctly. So far with the click on the icon only the popup opens without running the JS code.
popup.html
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="prompt.js"></script>
</head>
<body onload="promptBox()">
</body>
</html>
prompt.js
function promptBox() {
prompt('Choose File 1',A14nH);
R1Gh7=prompt('Choose File 2',L3f7);
if(L3f7&&R1Gh7) {
Fr4Q='<frameset cols=\'*,*\'>\n<frame src=\''+L3f7+'\'/>';
Fr4Q+='<frame src=\''+R1Gh7+'\'/>\n';
Fr4Q+='</frameset>';
with(document) {
write(Fr4Q);
void(close())
}
}
else{
void(null)
};
}
You cannot run inline handlers within chrome extensions.
Do a right click on your extensions icon and click "Inspect Popup". You'll see the following:
You need to remove
onload="promptBox()"
from your body and add an listener to yourprompt.js
instead:For what I wanted to do (manipulating current page by inserting frames) it turned out that content script was the keyword.
The background script listens for the onclick action on the extension icon and triggers the content script which calls the promptBox function.
manifest.json
background.js
prompt.js