@Silector
Интроверт

Кроссдоменный обмен данными и jsonp при создании плагина для Cchrome, как реализовать?

Я решил написать плагин для chrome, который будет выводить кол-во не просмотренных сериалов на сизонваре. И столкнулся с политикой безопасности... Но с этой проблемой я благополучно разобрался с помощью jsonp.
$.ajax({
    url: "http://seasonvar.ru/jsonMark.php",
    jsonp: "callback",
    dataType: "jsonp",
 
    success: function( response ) {
    	if(response.data.today == undefined)
    	alert(1)
    	else
    		alert(2);
    }
});

Этот скрипт работает(если вы зареганы на seasonvar то вам выдадут всю необходимую информацию) на обычной html странице.
Но тут же возникла новая проблема, которую я никак вразумить не могу. При загрузке плагина в хром появляется ошибка:
Refused to load the script 'seasonvar.ru/jsonMark.php?callback=jQuery222076483...' because it violates the following Content Security Policy directive: "script-src 'self' https://seasonvar.ru/jsonMark.php"
Везде говорят что необходимо в manifest.json добавить:
"permissions": ["seasonvar.ru"],
"content_security_policy": "script-src 'self' https://seasonvar.ru/jsonMark.php; object-src 'self'"
но это не робит...
  • Вопрос задан
  • 454 просмотра
Решения вопроса 1
@OVK2015
Вот твой вариант:

background.html
<!doctype html>
<html>
	<head>
		<title></title>
		<script type="text/javaSCRIPT" src="js/jquery-1.11.2.min.js"></script>				
		<script type="text/javaSCRIPT" src="js/background.js"></script>				
	</head>
	<body></body>
</html>


background.js:
$.ajax
({
    url: "http://seasonvar.ru/jsonMark.php",    
    dataType: "json",
 
    success: function( response ) 
    {
    	console.log('old: ' + response.data.old);
    	console.log('noSeries: ' + response.data.noSeries);
    }
});


manifest.json
"background" : 
	{
        "page": "background.html"
    },
	
	"permissions": 
	[			
		"http://seasonvar.ru/*",	
		"tabs"
	],
"content_security_policy": 
    	"script-src 'self' 'unsafe-eval'; object-src 'self'"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы