点击Chrome扩展程序中的popup.html图标运行javascript

ors*_*iro 0 javascript google-chrome-extension

我想要的很简单.用户单击扩展的图标并执行JS代码,显示询问两个值的提示框.但我无法弄清楚如何正确地将JS与popup.html链接起来.到目前为止点击图标只打开弹出窗口而不运行JS代码.

popup.html

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="prompt.js"></script>
    </head>
    <body onload="promptBox()">
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

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)
    };
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*Lee 6

您无法在Chrome扩展程序中运行内联处理程序.
右键单击您的扩展图标,然后单击"检查弹出窗口".你会看到以下内容:

拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:"script-src'self'chrome-extension-resource:".

你需要onload="promptBox()"从你的身体中移除并添加一个听众prompt.js:

function promptBox() {
  // ...
}

document.addEventListener('DOMContentLoaded', function() {
  promptBox();
});
Run Code Online (Sandbox Code Playgroud)