I am trying to develop a chrome appplication in which i want to display a custom Rss feeds but feeds are not get loaded and dispalying error like above.
Error Details in which is displayed
Refused to load the script
'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'
because it violates the following Content Security Policy directive:
"script-src 'self'
https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js".
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'
https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js".
jquery.min.js:35
Refused to load the script 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'
because it violates the following Content Security Policy directive:
"script-src 'self'
https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js".
Refused to load the script 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=2&output=json&q=http%3A%2F%2Fblog.tax2290.com%2Ffeed%2F&hl=en&callback=jsonp1373953012503'
because it violates the following Content Security Policy directive:
"script-src 'self'
https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js".
manifest.json
{
"name": "Tax New 2290",
"manifest_version": 2,
"version": "1.1",
"description": "Tax 2290",
"web_accessible_resources": ["images/logo.png"],
"icons": {
"16": "icon16.png",
"19":"icon19.png",
"48": "icon48.png",
"128": "icon128.png",
"256": "icon256.png"
},
"browser_action":
{
"default_icon":"images/logo.png",
"default_popup":"index.html"
},
"permissions": ["tabs", "<all_urls>","http://www.tax2290.com","http://*/*", "https://*/*","http://*.google.com/"],
"content_security_policy": "script-src 'self' https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js; https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js; object-src 'self'"
}
index.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="images/feed.js"></script>
<link rel="stylesheet" href="images/style.css" type="text/css" />
<title>Chrome Popup</title>
</head>
feed.js
$(function() {
var $items = $('#vtab>ul>li');
$items.mouseover(function() {
$items.removeClass('selected');
$(this).addClass('selected');
var index = $items.index($(this));
$('#vtab>div').hide().eq(index).show();
}).eq(0).mouseover();
});
$(document).ready(function () {
$('#divRss2').FeedEk({
FeedUrl: 'http://blog.tax2290.com/feed/',
MaxCount: 2,ShowDesc: true,
ShowPubDate: true,
DescCharacterLimit: 250
});
});
> Please tel me how could avoid these errors and load the custom RSS feeds.
最佳答案
您的“content_security_policy”有几个问题。
1) 首先是您应该删除 1.4.1 和 1.9.1 jquery 声明之间的分号。多个 URL 应仅用一个空格分隔,不得使用其他字符。
2) 第二个是您试图加载此脚本“http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=2&output=json&q=http%3A%2F%2Fblog.tax2290.com%2Ffeed%2F&hl=en&callback=jsonp1373953012503”,但您的 CSP 中不允许这样做。
3) 第三,您似乎需要允许内联脚本。
我会将您的“content_security_policy”更改为如下所示:
"content_security_policy": "script-src 'self' https://ajax.googleapis.com/ 'unsafe-inline'; object-src 'self'"
'unsafe-inline' 应该修复“拒绝执行内联脚本”错误。
https://ajax.googleapis.com/应该允许加载两个版本的 jquery 以及您的/ajarx/services/feed/load URL。
关于google-chrome - 拒绝加载脚本,因为它违反了以下内容安全策略指令 : "script-src ' self',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17669359/