获取页面上的所有链接
Get all links on a page
我正试图单击一个按钮并获取页面上的所有链接,但我无法,并且在控制台中出现此错误'拒绝执行内联脚本,因为它违反了以下内容安全策略指令:"script src'self'chrome扩展资源:"'
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"
}
}
弹出HTML
<script type="text/javascript">
var bkg = chrome.extension.getBackgroundPage();
window.addEventListener('load', getAllLinks);
</script>
背景。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>
如果您已经阅读了错误消息所说的内容:
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:
"script src"self"chrome扩展资源:
您可能已经意识到问题在于您的代码直接位于HTML文件中。相反,您应该将文件放在外部.js
文件中,并使用src
属性链接到它们:
<script src="popup.js"></script>
在popup.js中,将代码放在那里。对背景页重复此过程。
CSP或内容安全策略旨在使开发人员更难实现为XSS攻击和各种其他恶意活动提供攻击向量的代码。它通过防止使用特定的";危险的";把事情放在一起,让不太推荐的做事方法只让事情选择。例如,除非您特别放宽了CSP设置中的限制,否则eval
将被阻止。有关CSP阻止什么以及它如何影响代码的更多信息,请参阅Chrome扩展文档。
相关文章:
- 通过mvc中的ajax动作链接获取关于成功的响应头
- 使用Java从javascript链接获取html更改
- 从javascript onClick超链接获取内容
- 如何使用javascript从类中的链接获取标题属性
- Jquery为链接获取不同的输入隐藏值
- 点击jQuery的链接获取请求
- 从动态href链接获取值
- 如何在页面刷新后链接获取焦点
- 从Angular.js中的自定义链接获取URL参数
- 如何将我的链接获取到变量中
- 如何使用Javascript从这个链接获取formatted_phone_number ?
- 使用Javascript通过链接获取并发送文本值
- 在同一页面中使用onClick功能从链接获取值
- 使用jQuery / JavaScript从超链接获取完整的URL
- 从文本链接获取URL参数,并将其发送到AJAX调用
- 谷歌地图API锚链接获取位置
- 通过jQuery从JSON的外部链接获取数据
- 无法从外部链接获取img src
- 从文本链接获取标题值
- 从链接获取javascript中的变量