Почему не парсится RSS

290
16 июля 2021, 17:40

Решил сделать на основе вот этого видео расширение парсер. Сделал, но оно выдает ошибку. Почему не работает парсер Расширение для Хром? Выдает ошибку

Refused to load the script 'http://www.feedrapp.info/?callback=jQuery34105091845112378484_1568141475155&q=http%3A%2F%2Fvestirama.ru%2Fserver%2Fyandex.rss&_=1568141475156' 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.

Этот путь http://www.feedrapp.info он прописан в файле jquery.rss.js

Файл Манифест

{
"name" :"Новости",
"version": "1.0",
"manifest_version": 2,
"description" :"Последние новости Оренбуржья",
"permissions": [
  "cookies",
  "background",
  "tabs",
  "http://*/*",
  "https://*/*",
  "storage",
  "unlimitedStorage"
],
"icons": { "128": "images/icon.png" },
"content_scripts": [{
    "matches": [ "http://vestirama.ru/*","http://vestirama.ru/server/yandex.rss" ],
    "js": [ "jquery.min.js","moment.min.js","jquery.rss.js","jquery.rss.min.js","script.js" ],
    "all_frames": true
}],
"web_accessible_resources": [
    "http://*/*",
    "https://*/*",
    "styles/*",
    "fonts/*"
],
"browser_action" :
    {
        "default_popup": "popup.html",
        "default_title": "Новости ВестиРама"
    }
}

popup.html

<html>
<head>
<meta charset="utf-8"/>
<title>Новости ВЕСТИРАМА</title>
<link href="style.css" rel="stylescheet"/>
</head>
<body>
 <div class="container">
      <div id="rss"></div>
        </div>
<script type="text/javascript" language="javascript" src="jquery-3.4.1.min.js"></script>
<script type="text/javascript" language="javascript" src="moment.min.js"></script>
<script type="text/javascript" language="javascript" src="jquery.rss.js"></script>
<script type="text/javascript" language="javascript" src="jquery.rss.min.js"></script>
<script type="text/javascript" language="javascript" src="script.js"></script>
</body>
</html>

script.js

$('#rss').rss("http://vestirama.ru/server/yandex.rss");

Оригинальные пути скриптов

https://code.jquery.com/jquery-3.4.1.min.js
https://momentjs.com/downloads/moment.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery-rss/3.3.0/jquery.rss.js
https://cdnjs.cloudflare.com/ajax/libs/jquery-rss/3.3.0/jquery.rss.min.js
Answer 1

У вас, потенциально, неправильно описаны разрешения для URL:

"http://*/*"

"https://*/*"

Попробуйте заменить на:

"<all_urls>"

Answer 2

Ошибка связана с CSP - https://developer.chrome.com/extensions/contentSecurityPolicy

Попробуйте в манифесте прописать

// Добавляем доверенный домен feedapp.info
"content_security_policy": "self' *feedapp.info blob: filesystem: chrome-extension-resource"

Тут есть больше примеров: https://developer.mozilla.org/ru/docs/Web/HTTP/CSP

READ ALSO
POST запрос с получением ответа

POST запрос с получением ответа

Нужно отправить POST запрос и получить ответ от сервера, сделал след образом:

288
Activator.CreateInstance MissingMethodException

Activator.CreateInstance MissingMethodException

Столкнулся с весьма непонятной ситуациейАктиватор не видит подходящих конструкторов, хотя они есть в классе, и они отображаются при логировании

201
Считать данные из *.xls в *.xml с помощью C#

Считать данные из *.xls в *.xml с помощью C#

Всем доброго времени суток! Нужна помощь, сам не успеваю, да и знаний нетНет, мне не нужен код и полностью написанная программа - хотелось бы узнать,...

224