这是我的应用程序代码:
manifest.json文件:
{
"name": "YouTradeFx Debugger",
"version": "1.0",
"manifest_version": 2,
"description": "This appliction allow YoutradeFX R&D team to debugging thier applications, by using few tools",
"browser_action": {
"default_popup": "app.html"
}
}
app.html文件:
<html>
<head>
<title>Source of the application</title>
<script src="jquery.js"></script>
<script src="app.js"></script>
</head>
<body style="width: 350px;">
<span style="display: none;">
<button id="Http">Send Requests</button>
<button id="Cookie">Add Lead Params</button>
<button id="Crm">CRM Faliure</button>
</span>
<div id="Content">
<table id="cons">
<tr>
<td>Please your username:</td>
<td><input type="text" id="names" name="user"></td>
</tr>
<tr>
<td><input type="submit" name="send" value="SEND"></td>
</tr>
</table>
</div>
</body>
</html>
app.js文件是:
$(document).ready(function(){
var HoldUser = $("input#names").val();
$.get("https://www.mywebsite.com/ChromeExt/crm_buffer.php?uid="+HoldUser,function(data){
$("div#cons").html(data);
});
});
但是我收到错误消息“拒绝执行内联脚本,因为它违反了以下内容安全策略指令:”script-src'self'chrome-extension-resource:“。”一直......!
为什么不工作?我做错了什么?
答案 0 :(得分:0)
您正在从https://www.mywebsite.com/ChromeExt/crm_buffer.php?uid="+HoldUser
加载HTML(我假设),然后将其注入您的app.html
页面。注入HTML时,会对其进行解析,并开始加载所有提及的资源(<script>
,<link>
,<object>
,<img>
等)。由于您可能在那里有一些JavaScript文件,并且由于默认的Chrome扩展程序策略不允许扩展程序从远程位置运行脚本,因此会出现安全违规错误。
您可以通过更加像API调用,返回JSON或文本而不是HTML来回复您的网站。如果mywebsite.com
不属于您,或者您不想更改其中的任何内容,则可以将CSP中加载的脚本列入白名单,或将data
变量返回$.get
1}}并在注入之前删除所有<script>
等。
答案 1 :(得分:0)
您正在访问 https://www.mywebsite.com/ChromeExt/crm_buffer.php?uid=“+ HoldUser 页面,因此您可能会点击该按钮,鼠标按下等事件另外,我没有看到 manifest.json 的任何权限。这也可能会阻止请求。您可以通过将以下行添加到 manifest.json
"permissions": [
"http://*/*",
"https://*/*",
],