编程只是起点
我们的终点是星辰大海

cms指纹识别-chrome插件

帮朋友开发的插件,云悉指纹:http://www.yunsee.cn/

第一个版本交托当天下午就完成了,只用到了脚本注入(content_scripts),window.location.*拼接出url,ajax获取数据,在body体插入节点显示数据。但这个版本只对http有效,因为接口是http的,当https的网页请求http时地址栏右侧会出现小盾牌,提示此网页包含的脚本来自于身份未经验证的源。

第二天去练车,开发就放起来了,心里总觉得有点事,直到昨天被催了~

因为https的原因,放弃脚步注入,使用popup和background

background调用谷歌浏览器接口chrome.tabs.getSelected(null, function(tab) {});获取当前tab的url,使用正则/http.?:\/\/.*?\//匹配出协议+域名。

popup.js 调用 background.js 函数

background.js

function get_data(){
    return '11111'
}

popup.js

// 先获取background页面
var bg = chrome.extension.getBackgroundPage();
//再在返回的对象上调用background.js 里面的函数
bg.get_data();

需要注意的是,获取tab信息的接口和ajax都是异步的,未执行就直接返回了,所以要利用接口的回调函数,获取到tab信息再来发送ajax,并且设置async: false使ajax同步,最后再使用浏览器的消息传递api把数据传给popup。

popup和background之间的通信

监听消息

chrome.extension.onMessage.addListener(
    function(request, sender, sendResponse) {
        console.log('我收到了' + request.data);
        sendResponse("返回值");
    }
);

发送消息

chrome.extension.sendMessage({data: return_data}, function(response) {
   console.log(response);
});

演示:

本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可 »钟声博客 » cms指纹识别-chrome插件

评论 13

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    135791,1/97/

    135791 4年前 (2020-05-18)回复
  2. #2

    135791′ and sleep(0)#

    135791 4年前 (2020-05-18)回复
  3. #3

    135791

  4. #4

    135791

    135791-(-9999995)-0-- 4年前 (2020-05-18)回复
  5. #5

    135791

    135791'and'123'='123 4年前 (2020-05-18)回复
  6. #6

    135791

    135791'and(0)='0'# 4年前 (2020-05-18)回复
  7. #7

    135791

    匿名 4年前 (2020-05-18)回复
  8. #8

    135791

    135791 and sleep(5-5) 4年前 (2020-05-18)回复
  9. #9

    135791

  10. #10
  11. #11

    135791

    1357919988x3X5' 4年前 (2020-05-18)回复
  12. #12

    135791

  13. #13

    135791

    135791abccba2011 4年前 (2020-05-18)回复

闲鱼助手友情链接