jQuery常用小知识学习


=Start=

缘由:

今天看到了阿里云社区上爆出的sudo本地提权漏洞,顺便逛了一下论坛里的其它帖子,发现他们在漏洞信息的总结、整理、公告方面是国内比较领先的,就想着按照他们总结、统计出来的漏洞列表对公司内部使用的系统/软件进行排查,既全面又省事。

观察发现他们的「漏洞公告」信息是有一个统一的命名格式的:

在「安全漏洞公告专区」页面中,标题包含有「【漏洞公告】」的帖子。

这时,我有几种方式对其中的内容进行统计,比如:

方法一(Google大法):

site:bbs.aliyun.com 安全漏洞公告专区
site:bbs.aliyun.com 【漏洞公告】

方法二(jQuery大法):

打开「安全漏洞公告专区」页面,然后用浏览器的console进行帖子标题、URL、创建时间的提取

方法三(站内搜索):

试了试,效果不太好(因为没有登录的原因?)

正文:

参考解答:

这里主要记录一下我在Chrome浏览器下用jQuery提取相关信息的过程,方便以后在碰到类似情况时有个参考。

1.分析、定位

浏览器打开「安全漏洞公告专区」页面,然后将鼠标放在「【漏洞公告】CVE-2017-1000367:Sudo本地提权漏洞」贴子标题上「右键 – 检查」,看是否存在一些容易定位该item的特征,发现该类<a>元素都有「class=”subject_t f14“」标识,至此,过滤条件确定了。接下来用js实现定位和过滤。

2.jQuery的selector

jQuery 选择器
http://www.w3school.com.cn/jquery/jquery_selectors.asp

jQuery中如何选择class名称中包含有「空格」的元素?
https://stackoverflow.com/questions/1988483/jquery-selector-classname-with-space

情况:
<div class="panel current">
对应:
$("div.panel.current")
所以:
<a ... class="subject_t f14" ...>
对应:
$("a.subject_t.f14") // 或 $(".subject_t.f14")

用selector选好了之后,如何循环对选中的元素进行处理?
https://stackoverflow.com/questions/17717205/how-to-iterate-a-result-of-jquery-selector
https://stackoverflow.com/questions/4735342/jquery-to-loop-through-elements-with-the-same-class

$(".subject_t.f14").each(function() {
console.log(this.href);
});
// 或
$(".subject_t.f14").each(function(index, elem){
console.log("I am " + index + "th element.", elem.href);
});

JavaScript中如何进行字符串包含的测试?
https://stackoverflow.com/questions/1789945/how-to-check-whether-a-string-contains-a-substring-in-javascript
https://stackoverflow.com/questions/3480771/how-do-i-check-if-string-contains-substring

var string = "foo", substring = "oo";
string.indexOf(substring) !== -1;

JavaScript Break 和 Continue 语句
http://www.w3school.com.cn/js/js_break.asp

JavaScript中如何根据指定分隔符对字符串进行切分?
https://stackoverflow.com/questions/96428/how-do-i-split-a-string-breaking-at-a-particular-character

3.其它

在浏览器的 console 中如何判断 jQuery 是否已经加载?以及 ‘$’ 是否可用?
https://stackoverflow.com/questions/1828237/check-if-jquery-has-been-loaded-then-load-it-if-false

typeof $
var tests = $("a");
//
typeof jQuery
var tests = jQuery("a");
参考链接:

=END=


《“jQuery常用小知识学习”》 有 7 条评论

  1. JavaScript 是如何运行的?
    https://segmentfault.com/a/1190000020438413
    `
    什么是JavaScript?
    代码是怎么运行的?
      汇编语言
      高级语言
    JavaScript 需要编译吗?
      编译
      跨平台
      解释执行
    编译过程
      词法分析
      语法分析
      优化及代码生成
      链接及装载
    什么是动态语言,动态类型?
    错误
      编译时错误
      链接时错误
      运行时错误
      JavaScript中最常见的十个错误
    结语
    `

  2. 如何搞定某些网站不让复制文字
    https://mp.weixin.qq.com/s/miyrPlKG015GIWvkfpMSkA
    `
    浏览某些网站的时候,看到一段不错的话想复制下来,结果竟然要登录,甚至你都选择不了文字,因为被禁用了,下面就分享几种解决方案。

    # 浏览器控制台
    按F12或者右键检查打开控制台,在console里输入$=0,原理就是破坏网站的js执行。

    有些网站连右键和F12都禁止了怎么办?随便打开一个网站先打开控制台再复制网址打开。
    如果$=0无效,在设置里勾选Disable JavaScript,复制完之后记得再改回去。

    # Chrome 扩展
    安装 simple allow copy 这个扩展 https://chrome.google.com/webstore/detail/simple-allow-copy/aefehdhdciieocakfobpaaolhipkcpgc

    如果你想编辑下再复制,推荐微信同步助手这个扩展 https://chrome.google.com/webstore/detail/%E5%BE%AE%E4%BF%A1%E5%90%8C%E6%AD%A5%E5%8A%A9%E6%89%8B/hchobocdmclopcbnibdnoafilagadion

    # 油猴脚本
    推荐 网页限制解除(精简优化版) https://greasyfork.org/zh-CN/scripts/41075 ,直接安装就行。
    如果你想突破b站的版权限制,推荐 解除B站区域限制的脚本 https://greasyfork.org/zh-CN/scripts/25718

    # ocr
    如果以上方法还不行(这种网站比较少),只能用ocr识别了,可以看看之前文章那些你可能不知道的 ocr 图片文字识别工具 里的天若ocr。
    `

  3. `
    CSS 选择器

    1. 先元素-直接元素名称即可
    document.querySelector(“div”)

    Principles

    2. 后属性-放在方括号[]内
    document.querySelector(“[href$=’.png’]”)

    document.querySelector(“[type$=’script’]”)
    ​​

    document.querySelector(“[type$=’css’]”)

    3. 再类型-以.开头
    document.querySelector(“.back_to_top”)

    Back to Top

    4. 最后id-以#开头准确指定
    document.querySelector(“#mc-empires_embed_signup_scroll”)




    `

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注