React Web Extension Error: Refused to apply inline style because it violates the following Content Security
React Web Extension Error: Refused to apply inline style because it violates the following Content Security
我之前曾与 React Js
合作过,但这是我第一次为 Web 扩展使用 React。
My manifest.json file is:
{
"manifest_version": 2,
"name": "owl",
"author": "zubayr",
"version": "1.0.1",
"description": "Testing!",
"icons": {
"16": "owl.png",
"48": "owl.png",
"128": "owl.png"
},
"browser_action": {
"default_popup": "index.html",
"default_title": "Open the popup"
},
"permissions": ["storage"]
}
我有一个奇怪的错误:Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem:". Either the 'unsafe-inline' keyword, a hash ('sha256-1kri9uKG6Gd9VbixGzyFE/kaQIHihYFdxFKKhgz3b80='), or a nonce ('nonce-...') is required to enable inline execution.
请让我知道哪里出了问题。
我的 index.html
文件是:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta http-equiv="Content-Security-Policy" content="base-uri 'self'; object-src 'none'; script-src 'self' 'sha256-GgRxrVOKNdB4LrRsVPDSbzvfdV4UqglmviH9GoBJ5jk='; style-src 'self'">
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<style>
.myDiv {
border: 50px outset red;
background-color: '#000000';
text-align: center;
}
div {
height: 200px;
width: 50%;
background-color: powderblue;
}
</style>
<title>Hoot</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root">
<div class="myDiv" width="150" height="60">
<h2>This is a heading in a div element</h2>
<p>This is some text in a div element.</p>
</div>
<img src="owl.png" alt="owl" width="50" height="60">
</div>
</body>
</html>
另外,当我在开发者模式下 运行 chrome 中的扩展程序时,弹出窗口与图像一样大。我似乎无法根据自己的意愿增加它的高度宽度。如果可能的话,请告诉我它的解决方案。
提前致谢!
Chrome 安全性阻止了 create-react-app 生成的内联 JS。试试这个
在您的 React 应用程序中,请创建一个 .env
或将其添加到现有的
INLINE_RUNTIME_CHUNK=false
然后构建您的应用程序(例如 yarn run build
)
使用这个,没有脚本,独立于大小,被内联。
查看此拉取请求以获取更多详细信息https://github.com/facebook/create-react-app/pull/5354
我之前曾与 React Js
合作过,但这是我第一次为 Web 扩展使用 React。
My manifest.json file is:
{
"manifest_version": 2,
"name": "owl",
"author": "zubayr",
"version": "1.0.1",
"description": "Testing!",
"icons": {
"16": "owl.png",
"48": "owl.png",
"128": "owl.png"
},
"browser_action": {
"default_popup": "index.html",
"default_title": "Open the popup"
},
"permissions": ["storage"]
}
我有一个奇怪的错误:Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem:". Either the 'unsafe-inline' keyword, a hash ('sha256-1kri9uKG6Gd9VbixGzyFE/kaQIHihYFdxFKKhgz3b80='), or a nonce ('nonce-...') is required to enable inline execution.
请让我知道哪里出了问题。
我的 index.html
文件是:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta http-equiv="Content-Security-Policy" content="base-uri 'self'; object-src 'none'; script-src 'self' 'sha256-GgRxrVOKNdB4LrRsVPDSbzvfdV4UqglmviH9GoBJ5jk='; style-src 'self'">
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<style>
.myDiv {
border: 50px outset red;
background-color: '#000000';
text-align: center;
}
div {
height: 200px;
width: 50%;
background-color: powderblue;
}
</style>
<title>Hoot</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root">
<div class="myDiv" width="150" height="60">
<h2>This is a heading in a div element</h2>
<p>This is some text in a div element.</p>
</div>
<img src="owl.png" alt="owl" width="50" height="60">
</div>
</body>
</html>
另外,当我在开发者模式下 运行 chrome 中的扩展程序时,弹出窗口与图像一样大。我似乎无法根据自己的意愿增加它的高度宽度。如果可能的话,请告诉我它的解决方案。
提前致谢!
Chrome 安全性阻止了 create-react-app 生成的内联 JS。试试这个
在您的 React 应用程序中,请创建一个 .env
或将其添加到现有的
INLINE_RUNTIME_CHUNK=false
然后构建您的应用程序(例如 yarn run build
)
使用这个,没有脚本,独立于大小,被内联。
查看此拉取请求以获取更多详细信息https://github.com/facebook/create-react-app/pull/5354