Расширение Chrome для Twittch API выдает ошибку в политике безопасности контента - PullRequest
0 голосов
/ 10 июля 2019

Я делаю расширение Chrome, чтобы мои зрители знали, когда я в эфире или нет, поэтому я сделал это, но он возвращает ошибку

Сначала я попытался сделать это сJQuery XMLHttpRequest, но я обнаружил, что JSONP лучше подходит для этих расширений, поэтому я сделал это с помощью запросов JSONP, подобных этому

checkStream();

setInterval(function(){
  checkStream();
}, 5000);

function checkStream() {
  $.ajax({
    url: 'https://api.twitch.tv/kraken/streams/cew_kuhaku?client_id=myclientid',
    jsonp: "callback",
    dataType: "jsonp",
    data: {},
    // Work with the response
    success: function( response ) {
        console.log( response ); // server response

              $("#json").html(response)
              if(response["stream"] == null){
                $("#info").html("Kuhaku n'est pas en stream");
                      chrome.browserAction.setIcon({path: "img/off.png"});
              }else {
                $("#info").html("Kuhaku est en stream")
                      chrome.browserAction.setIcon({path: "img/on.png"});
              }
    }
  });
}

Мой манифест выглядит так:

{
  "manifest_version":2,
  "name":"CEW Kuhaku Streaming",
  "version":"1.0",
  "description":"Extension de stream de CEW Kuhaku",
  "browser_action": {
    "default_popup":"index.html"
  },
  "icons":{
    "64" : "img/on.png"
  },
  "background": {
    "scripts": ["jquery.js", "background.js"]
  }
}

Здесьмой index.html

<h1>Stream CEW Kuhaku</h1>
<p id="info">Kuhaku est en live</p>
<p id="json"></p>
<script src="jquery.js"></script>
<script src="app.js"></script>

Я ожидаю подтверждения статуса своего потока, но я получил это:

Refused to load the script because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem: chrome-extension-resource:". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

1 Ответ

0 голосов
/ 10 июля 2019

вам нужно добавить конфигурацию политики безопасности контента в ваш manifest.json

 "content_security_policy": "script-src 'self' https://example.com; object-src 'self'"
...