首页 > 脚本 > 网络编程 > 谷歌浏览器扩展插件的开发教程,Chrome插件(扩展)开发全攻略(完整demo)

谷歌浏览器扩展插件的开发教程,Chrome插件(扩展)开发全攻略(完整demo)

来源:整理 时间:2022-02-23 15:21:15 编辑:飘云 手机版

经验总结

 

查看已安装插件路径

已安装的插件源码路径:C:\Users\用户名\AppData\Local\Google\Chrome\User Data\Default\Extensions,每一个插件被放在以插件ID为名的文件夹里面,想要学习某个插件的某个功能是如何实现的,看人家的源码是最好的方法了:

如何查看某个插件的ID?进入 chrome://extensions ,然后勾线开发者模式即可看到了。

 

特别注意background的报错

很多时候你发现你的代码会莫名其妙的失效,找来找去又找不到原因,这时打开background的控制台才发现原来某个地方写错了导致代码没生效,正式由于background报错的隐蔽性(需要主动打开对应的控制台才能看到错误),所以特别注意这点。

 

如何让popup页面不关闭

在对popup页面审查元素的时候popup会被强制打开无法关闭,只有控制台关闭了才可以关闭popup,原因很简单:如果popup关闭了控制台就没用了。这种方法在某些情况下很实用!

 

不支持内联JavaScript的执行

也就是不支持将js直接写在html中,比如:

<input id="btn" type="button" value="收藏" onclick="test()"/>

报错如下:

Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem: chrome-extension-resource:". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.

解决方法就是用JS绑定事件:

$('#btn').on('click', function(){alert('测试')});

另外,对于A标签,这样写href="javascript:;" rel="external nofollow" rel="external nofollow" 然后用JS绑定事件虽然控制台会报错,但是不受影响,当然强迫症患者受不了的话只能写成href="#" rel="external nofollow" 了。

如果这样写:

<a href="javascript:;" rel="external nofollow"  rel="external nofollow"  id="get_secret">请求secret</a>

报错如下:

Refused to execute JavaScript URL because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem: chrome-extension-resource:". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.

 

注入CSS的时候必须小心

由于通过content_scripts注入的CSS优先级非常高,几乎仅次于浏览器默认样式,稍不注意可能就会影响一些网站的展示效果,所以尽量不要写一些影响全局的样式。

之所以强调这个,是因为这个带来的问题非常隐蔽,不太容易找到,可能你正在写某个网页,昨天样式还是好好的,怎么今天就突然不行了?然后你辛辛苦苦找来找去,找了半天才发现竟然是因为插件里面的一个样式影响的!

 

打包与发布

打包的话直接在插件管理页有一个打包按钮:

然后会生成一个.crx文件,要发布到Google应用商店的话需要先登录你的Google账号,然后花5个$注册为开发者,本人太穷,就懒得亲自验证了,有发布需求的自己去整吧。

 

参考

 

官方资料

推荐查看官方文档,虽然是英文,但是全且新,国内的中文资料都比较旧(注意以下全部需要翻墙):

Chrome插件官方文档主页

Chrome插件官方示例

manifest清单文件

permissions权限

chrome.xxx.api文档模糊匹配规则语法详解

 

第三方资料

部分中文资料,不是特别推荐:

360安全浏览器开发文档

360极速浏览器

Chrome扩展开发文档

Chrome扩展开发极客系列博客

 

附图

附图:Chrome高清png格式logo:

以上就是Chrome插件(扩展)开发全攻略的详细内容,更多关于Chrome插件开发的资料请关注元马网其它相关文章!
谷歌浏览下扩展插件的开发教程,Chrome插件(扩展)开发全攻略(完整demo)相关文章内容介绍。

文章TAG:Chrome插件开发插件扩展开发谷歌浏览器谷歌

最近更新

网络编程最新文章

脚本排行榜推荐