0

сценарий моего первого расширения GC не работает при загрузке как .crx. Я проверил раздел отладки, и это моя ошибка:Проблемы с CSP в файле manifest.json

Отказано в выполнении обработчика встроенного события, поскольку он нарушает следующую директиву политики безопасности содержимого: «script-src» self «https://www.lolking.net/». popup.html: 8

Отказ от выполнения обработчика события inline, поскольку он нарушает следующую директиву политики безопасности содержимого: «script-src» self «https://www.lolking.net/». popup.html: 9

, так что я предполагаю, что ошибка из файла manifest.json:

{ 
"name": "LolKing Searcher", 
"version": "1.1", 
"manifest_version": 2, 
"description": "Search your LoL profile", 
"content_security_policy": "script-src 'self' https://www.lolking.net/; object-src 'self'", 
"permissions": [ 
    "tabs", 
    "http://*/*/" 
], 

"content_scripts": [ 
{ 
    "matches": ["http://*/*/","https://*/*/"], 
    "js": ["popup.js"] 
} 
], 

"browser_action": { 
    "default_title": "LolKing Searcher", 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" 
} 
} 

также каждый совет хорошо принят!

ответ

0

Ошибка, как сказано в самой ошибке, находится в вашем файле popup.html. У вас не может быть встроенного кода в html-файлах, включая встроенные обработчики событий, такие как onclick="dosomething()". Переместите весь свой встроенный код во внешний файл.

Пример:

popup.html

<head> 
    <script src="popup.js"></script> 
</head> 
<body> 
    <input type="text" id="userText" placeholder="Enter Summoner's name" /> 
    <input type="button" id="button" value="Search"/> 
</body> 

popup.js

window.onload = function(){ 
    document.getElementById("button").addEventListener("click",check,false); 
}; 
function check(){ 
    var val = document.getElementById("userText").value; 
    if(val != ""){ 
    var url="http://www.lolking.net/search?name=" + val; 
    chrome.tabs.create({url:url}); 
    } 
    else 
    alert("Please enter a name"); 
} 

Кроме того, необходимо удалить content scripts раздел, потому что вы пытаетесь внедрить всплывающих кода на каждую страницу, которая просто не имеет никакого смысла.

+0

Извините за отсутствие noobish, следует ли перенести эти встроенные обработчики событий в файл js? – 2013-05-14 18:19:33

+0

что-то вроде этого? document.addEventListener ("onclick", Check, false); – 2013-05-14 19:10:31

+0

Я пробовал это, но он не работает \t document.getElementById («кнопка»). AddEventListener («onclick», Check, false); – 2013-05-14 21:54:03

Смежные вопросы