为了账号安全,请及时绑定邮箱和手机立即绑定

Chrome 扩展程序政策错误:拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令

Chrome 扩展程序政策错误:拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令

慕田峪9158850 2022-09-23 09:48:18
我正在开发一个chrome扩展来完成一个简单的任务,除了我花了大部分时间在一行html代码上,以弄清楚如何正确地赋予它正确的权限,我试图这样做,但我不知道实际放什么。我在尝试运行 java 脚本时遇到的错误:拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src 'self' https://apis.google.com”。启用内联执行需要“不安全内联”关键字、哈希(“sha256-...”)或随机数(“nonce-...”)。这就是我试图修复策略错误的原因:<meta http-equiv = "Content-Security-Policy" content="script-src 'self' data: https://apis.google.com 'unsafe-inline' 'sha256-base64EncodedHash'">我尝试将内容安全策略放在清单文件中,并尝试在上面的代码中加入其他内容。我所有的代码(我知道我不应该这样做,但我不知道是什么导致了这个问题):网页:<html><head>    <title>Tracillion</title>    <link rel = "stylesheet" type = "text/css" href = "style.css">    <meta http-equiv = "Content-Security-Policy" content="script-src 'self' data: https://apis.google.com 'unsafe-inline' 'sha256-base64EncodedHash'">    <script type = "text/javascript" src = "popup.js"></script></head><body>    <h1 class = "header">Enter what you would like to search!</h1>    <div class = "line"></div>    <input class = "input" id = "input">    <button type = "submit" class = "button" onclick="loadSearch()">Search</button></body>脚本:function loadSearch() {var inputResult = document.getElementById("input").value;var final = 'https://www.google.com/search?q=' + encodeURI(inputResult + ' site:v3rmillion.net');chrome.tabs.create({url: final});}清单:{  "name": "bruh",  "description": "bruh moment",  "version": "1.0",  "background": {    "scripts": [      "popup.js"    ]  },  "manifest_version": 2,  "browser_action": {    "default_icon": "icon.png",    "default_popup": "popup.html"  },  "permissions": [    "tabs"  ]}
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

我想通了!这是因为我有一个内联执行...而不是手动在html中执行onclick=“我的函数()”,我只是通过javascript听它!


这是我更新的代码:


脚本:


function loadSearch() {

 var inputResult = document.getElementById("input").value;

 var final = 'https://www.google.com/search?q=' + encodeURI(inputResult + ' 

 site:v3rmillion.net');

 chrome.tabs.create({url: final});

}


document.addEventListener('DOMContentLoaded', function() {

 document.querySelector('button').addEventListener('click', loadSearch, false);

}, false)

网页:


<html>

<head>

    <title>Tracillion</title>

    <link rel = "stylesheet" type = "text/css" href = "style.css">

    <script type = "text/javascript" src = "popup.js"></script>

</head>

<body>

    <h1 class = "header">Enter what you would like to search!</h1>

    <div class = "line"></div>

    <input class = "input" id = "input">

    <button type = "submit" class = "button">Search</button>

</body>


查看完整回答
反对 回复 2022-09-23
  • 1 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信