Chrome扩展,应用开发学习笔记之2

恶搞百度一下

前面我们介绍了一个最简单的chrome扩展时钟,如今我来介绍一下一个恶搞百度一下的chrome扩展程序。

前面说过,manifest.json文件是用来描写叙述这个扩展的,是整个扩展的入口,同一时候也是告诉chrome怎么处理这个扩展。

恶搞百度一下:

以下我们来编写一个恶搞百度一下的扩展程序,希望从这个实例中,对于chrome拓展有一个更好的认识。先看看这个拓展的效果,例如以下图:

从图中我们能够猜到,其功能就是让你无法点击百度一下那个button。

先新建一个目录,取名“egao_baidu”(这个名字任意能够)。然后在目录中新建一个menifest.json的文件

以下看一下menifest.json文件的内容。

{
"manifest_version": 2,
"name": "永远点不到的搜索button",
"version": "1.0",
"description": "让你永远也点击不到baidu的搜索button",
"content_scripts": [
{
"matches": ["*://www.baidu.com/"], //这里匹配随意的包括://www.baidu.com/,意思是当訪问的页面url匹配时,以下的脚本文件就会自己主动运行
"js": ["js/haha.js"] // 这里的脚本文件是haha.js
}
]
}

先看一下百度一下html源文件的一些信息:

从源文件的内容上看,百度一下的id是su,看以下haha.js怎样使用它

从上面的manifest.json文件内容看,主要吸引人的部分是haha.js。来看一下这个文件的内容。

function btn_move(el, mouseLeft, mouseTop){
var leftRnd = (Math.random()-0.5)*20;
var topRnd = (Math.random()-0.5)*20;
var btnLeft = mouseLeft+(leftRnd>0?100:-100)+leftRnd;
var btnTop = mouseTop+(topRnd>0?30:-30)+topRnd;
btnLeft = btnLeft<100?(btnLeft+window.innerWidth-200):(btnLeft>window.innerWidth-100?btnLeft-window.innerWidth+200:btnLeft);
btnTop = btnTop<100?( btnTop+window.innerHeight-200):(btnTop>window.innerHeight-100?btnTop-window.innerHeight+200:btnTop);
//随机生成一些数,然后简单地推断一下位置的信息,不要超出窗体显示范围。 el.style.position = 'fixed';
el.style.left = btnLeft+'px';
el.style.top = btnTop+'px';
} function over_btn(e){
if(!e){
e = window.event;
}
btn_move(this, e.clientX, e.clientY);
} document.getElementById('su').onmouseover = over_btn; // 从源文件里的信息 百度一下 button的 id 是su,通过它获取button,设置鼠标移至button上的反应

好了,这个恶搞百度一下扩展的内容介绍完成,完整的代码能够从这里获取。https://github.com/ZHONGHuanGit/Chrome_extensions_example/tree/master/egao_baidu

扩展安装方式和前面一篇介绍的一样。能够看这里http://blog.csdn.net/zhonghuan1992/article/details/40269647

參考资料:

Chrome扩展及应用开发 (PS:非常赞赏该作者的人格,不仅书籍共享,而且将全部捐款奉献给壹基金。献上购买电子版的地址:http://www.ituring.com.cn/book/1472

最新文章

  1. clientTarget与用户代理别名
  2. BZOJ 2342: [Shoi2011]双倍回文
  3. eclipse 和 android studio 打包签名apk问题
  4. hihoCoder#1384 : Genius ACM
  5. c# Start/Stop/Check Status远程计算机的Windows Service
  6. 29 个 PHP 的 Excel 处理类
  7. 编辑器笔记——sublime text3 编译sass
  8. [topcoder]TallPeople
  9. php知识点集合
  10. select控件自动触发change事件
  11. 菜鸟VUER学习记——零0章、打开新的大门
  12. 错误代码: 1045 Access denied for user &#39;skyusers&#39;@&#39;%&#39; (using password: YES)
  13. apache无法启动报错No space left on device
  14. 友链 &amp; 日记
  15. [Web安全之实战] 跨站脚本攻击XSS
  16. NEW —— Code
  17. Windows 7 64bit VS2015 配置CUDA
  18. Oracle 常用sql整理
  19. 使用Docker Compose部署基于Sentinel的高可用Redis集群
  20. XCODE的演变及使用经验分享

热门文章

  1. LA 3942 - Remember the Word 字典树+DP
  2. linux系统进程的查看与控制
  3. ps树叶的雕刻
  4. 关于用strace工具定位vrrpd进程有时会挂死的bug
  5. ios开发网络学习九:NSURLSessionDownloadTask实现大文件下载
  6. 慎重Asp.net中static变量的使用方法
  7. WD-保修验证(WCC7K4ARTDF1)
  8. 号外:小雷将开发一款Java版的简易CMS系统
  9. php实现 合并表记录(需求是最好的老师)
  10. C/C++ 变量的初始化