试做Chrome插件——whatweb的chrome插件(从老博客转)
引子
最近一个月每天早上在学Javascript,刚学完基础语法和一点点jQuery,今天忍不住写个Chrome玩玩看看自己对JavaScript的掌握怎么样了。
目标
考虑了一下,打算做个小东西,但是总不能因为要做而做,没有意义。想到了做一个whatweb的探测插件。因为它们的官网上直接有查询功能,所以只需要一个post请求就行了。
思路
F12看一下包就知道只需要发一个post请求,里面包含一个target参数指向你需要查询的地址。然后会返回整个页面,所以解析一下取出第一个pre标签即可。
难点记录
最开始完全不知道插件怎么写,参考的是360的某某浏览器(他们的文档完全是chrome的翻译!我从未见过有如此厚颜无耻之人!),但是写了半天才发现这套文档已经过时了很久。最后没办法,看了下大致思路,然后对着英文的api文档写出了代码。其实只要明白了几个关键点,剩下的就是如何调用浏览器api而已。
效果图片
关键代码
$(document).ready(function(){
chrome.tabs.query({active:true,currentWindow:true},function(xxx){
var current_url = xxx[0].url;
data = {'target': current_url};
$.post("http://whatweb.net",data,function(result){
$('#show').html($(result).find('pre')[0].innerHTML.replace(/],/g,'],<br/>'));
});
});
});
就是这么简单的代码……
存在问题
依靠别人的服务器,而且人家做了限制,所以一个站点几分钟内不能再查。所以下个版本打算加上设置页面,可以设置自己的服务器页面,服务器只需要调用下whatweb返回结果就行,很好写。
下载地址
链接:http://pan.baidu.com/s/1pJ1f8Qf 密码:3vxe
第二版
下载地址
链接:http://pan.baidu.com/s/1dDEX9dR 密码:dka0
更新
- 可自定义服务器地址,注意服务器这里需要接受一个POST请求,参数是target,内容是目标url,返回应该是一个html格式文本,其中用pre标签修饰结果。
- 增加一小时提醒一次时间的功能,提醒会由Chrome通知发出。
试做Chrome插件——whatweb的chrome插件(从老博客转)的更多相关文章
- Trac常用插件描述! - wang_xf的Study home - 博客频道 - CSDN.NET
Trac常用插件描述! - wang_xf的Study home - 博客频道 - CSDN.NET
- 如何通过Gitalk评论插件,5分钟为你的博客快速集成评论功能
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- 为什么你应该试试用Sublog写博客
HI 这篇文章发布后,收到了一些反馈,在不同的阅读媒体上(浏览器,RSS,evernote)等,会有样式兼容问题,特别是之前的代码显示行号的实现方式,使用浮动code块,兼容问题比较严重,所以做了一个 ...
- 关于Chrome浏览器不能使用Java插件的问题
最近测试的“上海电信宽带测速系统”中HTTP测试需要用到java插件,之前装过好多次插件,装好后还是提示java插件未安装,郁闷了N久,最近问题终于得到了解决,故做分享~ 关于Chrome浏览器不能使 ...
- chrome http Request Header 修改插件
chrome http Request Header 修改插件 2013-05-31 11:03:03| 分类: JavaScript | 标签:chrome extensions chang ...
- Chrome 百度搜索热点过滤插件 - 开源软件
学习时,为了搜集最全的中文资料,有时候不得不使用Baidu搜索引擎.在你还是个小菜鸡的时候你可能会花费大量时间在百度上! 但是,时间久了你会发现,你总会被网络上一些奇奇怪怪或者有趣的事情吸引过去而逐渐 ...
- chrome浏览器好用的插件
1.Chrome批量保存所有选项卡网址 + 批量打开复制网址小插件 批量保存所有选项卡网址插件:Copy All Urls 经常搜索一些东西,下班时无法处理完所有网页内容,比如做笔记什么的,又不舍得关 ...
- Chrome,本地页面和插件
今天测试一款Chrome插件,这款插件提供了一些本地页面做测试用,在解决一些技术问题之后,在插件的官网上可以测试成功了,但是在本地页面上测试时Chrome始终会拦截插件,即使在右上角的地址栏中允许该本 ...
- 【转】NPAPI 插件无法在 Chrome 42 版及更高版本上正常运行
原文网址:https://support.google.com/chrome/answer/6213033 NPAPI 插件无法在 Chrome 42 版及更高版本上正常运行 您可以利用插件在浏览器中 ...
随机推荐
- NX二次开发-UFUN工程图表格注释设置单元格首选项UF_TABNOT_set_cell_prefs
NX9+VS2012 #include <uf.h> #include <uf_tabnot.h> #include <NXOpen/Part.hxx> #incl ...
- github如何用浏览器直接打开项目里的html页面?
very easy 第一步 点击html页面 第二步,在地址栏前加 htmlpreview.github.io/?就可以访问
- sql 生成javabean实体
select a.name,c.name,b.name,'private String '+lower(c.name)+';' from sysobjects a, systypes b, sysco ...
- c# 将byte数组保存成图片
将byte数组保存成图片: 方式一:System.IO.File.WriteAllBytes(@"c:\test.jpg", bytes); 方式二:MemoryStream ms ...
- Java-Class-@I:org.springframework.web.bind.annotation.RequestBody
ylbtech-Java-Class-@I:org.springframework.web.bind.annotation.RequestBody 1.返回顶部 2.返回顶部 1. package ...
- Codeforce 1175A From Hero to Zero
题目链接:http://codeforces.com/problemset/problem/1175/A AC代码: #include<cstdio> #include<iostre ...
- EXE 和 SYS 信息交互
操了,分发函数少发一个,让我白调了两个多小时.
- Tesseract&tesseractOCRiOS
安装tesseract在上篇. 1.安装之后默认语言包只有英文包,在github上下载中文简体,链接:https://github.com/tesseract-ocr/tessdata 然后放入tes ...
- Ansible的copy模块批量下发文件
copy模块的参数,ansible 主机组 -m copy -a '' src: 指定源文件或目录 dest: 指定目标服务器的文件或目录 backup: 是否要备份 owner: 拷贝到目标服务器后 ...
- gulp是什么?
什么是gulp? gulp初涉 1.什么是gulp? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的 ...