人生所有经过的路,
都是必经之路

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插件

相关推荐

  • 驾校一行js,完成的chrome插件
  • 知音漫客-Chrome插件

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我的简书友情链接