Chrome扩展,应用开发学习笔记之2---恶搞百度一下
2024-08-31 21:31:24
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)
最新文章
- clientTarget与用户代理别名
- BZOJ 2342: [Shoi2011]双倍回文
- eclipse 和 android studio 打包签名apk问题
- hihoCoder#1384 : Genius ACM
- c# Start/Stop/Check Status远程计算机的Windows Service
- 29 个 PHP 的 Excel 处理类
- 编辑器笔记——sublime text3 编译sass
- [topcoder]TallPeople
- php知识点集合
- select控件自动触发change事件
- 菜鸟VUER学习记——零0章、打开新的大门
- 错误代码: 1045 Access denied for user &#39;skyusers&#39;@&#39;%&#39; (using password: YES)
- apache无法启动报错No space left on device
- 友链 &; 日记
- [Web安全之实战] 跨站脚本攻击XSS
- NEW —— Code
- Windows 7 64bit VS2015 配置CUDA
- Oracle 常用sql整理
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
- XCODE的演变及使用经验分享