2013-12-14 5 views
-1

Я пытаюсь щелкнуть по кнопке и получить все ссылки на странице, но я не могу и я имею эту ошибку в консоли «Отказано в выполнении встроенного скрипта, потому что это нарушает следующую директиву политики безопасности контента: "скрипт-Src 'я' хром-расширение-ресурс:»Получить все ссылки на странице

manifest.json

{ 
    "manifest_version": 2, 
    "name" : "tat", 
    "description": "load", 
    "version": "1.0", 
    "permissions":["tabs", "http://*/*", "background", "activeTab"], 
    "content_scripts": [{ 
    "matches": ["http://*/*"], 
    "js": ["jquery.js","link.js"] 
}], 
    "browser_action": { 
    "default_title": "lol", 
    "default-icon":"images/128.png", 
    "default_popup":"popup.html" 
}, 
    "icons":{ 
    "32":"images/32.png", 
    "128":"images/128.png" 
}, 
    "background": { 
    "page": "background.html" 
} 
} 

POP-UP.HTML

<script type="text/javascript"> 
    var bkg = chrome.extension.getBackgroundPage(); 
    window.addEventListener('load', getAllLinks); 
</script> 

BACKGROUND.HTML

<script> 
var $html = jQuery(html); 
var getAllLinks = function(){ 
    var elementStr = ""; 
    var node = document.createElement("li"); 
    $html.find('a').each(function(){ 
    if(elementoLink.item(i).href.indexOf("operadorPerfil= REV") != -1){ 
    elemento.Str += elementoLink.item(i).href+"<br/>"; 
    node.innerText = elementStr; 
    } 
}); 
} 
chrome.tabs.onUpdated.addListener(function(){  // listen to updated tabs 
    getAllLinks(); 
    }); 
</script> 

ответ

1

Если бы вы читали, что сказал, что сообщение об ошибке:

Отказался выполнить инлайн-скрипт, потому что он нарушает следующие директивы Content Security Policy:

"script-src 'self' chrome-extension-resource:

вы бы поняли, что проблема связана с тем, что ваш код находится непосредственно внутри вашего HTML-файла. Вместо этого, вы должны устанавливать ваши файлы во внешних .js файлов и с помощью атрибута src, чтобы ссылаться на них:

<script src="popup.js"></script> 

И в popup.js разместить код. Повторите процесс для фоновой страницы.

CSP, или Политика обеспечения безопасности контента, затрудняет разработчикам реализацию кода, который обеспечивает атаки для атак XSS и различных других вредоносных действий. Он делает это, предотвращая использование конкретных «опасных» вещей в целом и делая менее рекомендуемые методы действий, но только в выборе. Например, eval заблокирован, если вы специально не смягчили ограничение в настройках CSP. Для получения дополнительной информации о том, что блокирует CSP и как это влияет на ваш код, см. the Chrome Extensions documentation.

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