首页 > 解决方案 > 无法解决扩展中的内容安全策略错误

问题描述

无论我做什么,我的弹出窗口都会不断返回此错误,“拒绝执行内联脚本,因为它违反了以下内容安全策略指令:”script-src 'self' https://s3.tradingview.com/tv.js ” . 'unsafe-inline' 关键字、哈希 ('sha256-RtrTopek4SlRj1jJ/Err6CDLFxdi7+ka5mWfZxTAPfY=') 或随机数 ('nonce-...') 都需要启用内联执行。

我已经尝试了一切来修复它,包括粘贴源 JS 并单独运行它,我在清单中使用了 content_security_policy,但这似乎不起作用。我可以尝试解决此问题吗?我的 manifest.json 在下面,

    {
  "name": "Stellar Lumens Price Tracker",
  "version": "1.1",
  "manifest_version": 2,
  "description": "Display the price of Stellar Lumens right in your browser.",
  "content_security_policy": "script-src 'self' https://s3.tradingview.com/tv.js; object-src 'self'",
  "browser_action": {
    "default_title": "Stellar Lumens Price Tracker",
    "default_popup": "popup.html",
    "default_icon": "stellar.png"
  },
  "background": {
    "scripts":["price.js", "popup.js"],
    "persistent": true
  }
}

HTML 和 JS 代码,

<!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body style="width: 750px; height: 400px">
    <div class="tradingview-widget-container">
      <div id="tradingview_e4c1e"></div>
      <div class="tradingview-widget-copyright"><a href="https://www.tradingview.com/symbols/BINANCE-XLMUSD/" 
        rel="noopener" target="_blank"><span class="blue-text">XLMUSD chart</span></a> by TradingView</div>
      <script type="text/javascript" src="https://s3.tradingview.com/tv.js"></script>
      <script type="text/javascript">
      new TradingView.widget(
      {
        "width": 750,
        "height": 400,
        "symbol": "BINANCE:XLMUSD",
        "interval": "D",
        "timezone": "Etc/UTC",
        "theme": "Dark",
        "style": "1",
        "locale": "en",
        "toolbar_bg": "rgba(0, 0, 0, 1)",
        "enable_publishing": false,
        "container_id": "tradingview_e4c1e"
    });
      </script>
    </div>
  </body>
</html>

标签: javascripthtmlgoogle-chrome-extension

解决方案


推荐阅读