我正在尝试恢复过去对我有用的Chrome扩展程序。我真的不知道HTML或Javascript,但我对它是如何工作有一个大概的了解。我知道C,这有助于理解语法。 所以我已经改变了清单2键,以及随之而来的东西,但现在已经停止了一个问题,我不能谷歌我的出路。 因为Chrome不再允许内联脚本,所以我必须将.js脚本链接到.html文件,但不确定如何修复以下错误消息:
拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src'self'chrome-extension-resource:”。要么是'unsafe-inline'关键字,哈希('sha256 -...'),要么是nonce('nonce -...')来启用内联执行。 popup.html:18
所以有问题的行是
<input type="text" value="" id="home_search_q" size="15" onKeyPress="checkEnter(event, this.value);" autofocus="true" />
.html文件:
<html>
<head>
<title>SearchBox Toolbar</title>
<link rel="stylesheet" type="text/css" href="css/popup.css">
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="js/popup.js"></script>
</head>
<body>
<form>
<table>
<tr>
<td id="logo">
<div id="logobtn" title="">
<img src="img/logo16.gif" id="logoimg">
</div>
</td>
<td id="query">
<input type="text" value="" id="home_search_q" size="15" onKeyPress="checkEnter(event, this.value);" autofocus="true" />
</td>
</tr>
</table>
</form>
</body>
</html>
我认为问题是该参数是一个不允许的函数checkEnter,但我不知道如何将其更改为脚本或绕过它。
答案 0 :(得分:1)
不要使用内联事件处理程序。
而是在外部脚本中调用addEventListener()
。