我开始使用React构建一个Chrome扩展。我的第一个目标就是让React徽标在浏览器扩展中打开,就像任何get项目在最初构建之后都会打开一样。我遵循了一些教程并设置了我的清单文件:
{
"short_name": "React App",
"name": "React Extension",
"manifest_version": 2,
"browser_action": {
"default_popup": "public/index.html",
"default_title": "React Ext"
},
"version": "1.0"
}我没有编辑任何其他文件,所以index.html如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<title>React App</title>
</head>
<body>
<div id="root"></div>
</body>
</html>当我将我的扩展文件上传到Chrome并尝试运行这个扩展名时,只会出现一个小的白色框。我希望通常的反应标志已经呈现在我的扩展。我一直在玩各种各样的解决方案,我发现如果我加上
标签和一些文本进入我的index.html,然后该文本将出现在浏览器扩展。
我猜我需要一些东西来告诉我的清单,index.html将引用哪些文件,但到目前为止,我还没有任何运气。如果有人能让我走上正确的轨道,我会非常感激的。
发布于 2019-04-24 20:24:41
问题是扩展生成了一个错误,很可能是内容安全策略错误。
我就是这样解决这个问题的:
Refused to execute inline script because it violates the following Content Security Policy directive的错误。复制您在错误消息('sha256-....')上看到的shamanifest.json"content_security_policy": "script-src 'self' 'sha256-...INSERT COPIED SHA256 HERE'; object-src 'self'"`npm run build或yarn build。https://stackoverflow.com/questions/53301805
复制相似问题