Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upchrome插件开发简介(一)——开发入门 #25
Labels
Comments
This comment has been minimized.
This comment has been minimized.
感谢分享这么详细的教程,但是文章中例子需要修改几个地方才能正常运行。
|
This comment has been minimized.
This comment has been minimized.
@TerryZwei 恩,为了示例好看,代码部分确实删减过一些。多谢指正. |
This comment has been minimized.
This comment has been minimized.
请问怎么能使用chrome.runtime 这类的API? 官网的例子没实现出来。。 |
This comment has been minimized.
This comment has been minimized.
希望能加上icon的下载地址。方便大家!! |
This comment has been minimized.
This comment has been minimized.
请问一下,如果在chrome扩展中实现以一定的时间间隔刷新页面,我通过setTimeout() 和setInternal()都只是点击那一刻可以刷新,能帮忙指点一下是否需要什么特殊的权限配置。 |
This comment has been minimized.
This comment has been minimized.
能讲一下怎么开发调试么? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
chrome插件开发简介(一)——开发入门
这里我们来讲一下其插件开发
基础概念
主要采用JavaScript语言进行编写。
环境限制:基本上功能性操作都需要通过chrome提供的API来完成,这跟实际的页面js又有一些差异,看上去并没有那么的完全自由。
如chrome扩展的页面脚本,可以获取并操作页面dom,但是,出于安全性的考虑,页面脚本的域是独立区分开来的,即js成员变量不共享。
即:插入到用户页面的js脚本可执行,但是与原始脚本不同执行域,互相不会影响。
content_script不能使用除了chrome.extension之外的chrome.* 的接口,不能访问它所在扩展中定义的函数和变量,不能访问web页面或其它content script中定义的函数和变量,不能做cross-site XMLHttpRequests
chrome扩展,其功能受限于chrome的API,比如说文件系统,必须通过chrome的fileSystem接口,而这些接口仅仅只是对html5已有的文件系统接口的扩展,
它允许Chrome应用读写硬盘中用户选择的任意位置,而HTML5本身提供的文件系统接口则只能在沙箱中读写文件,并不能获取用户磁盘中真正的目录。
其他,一些潜在的会引起漏洞的操作,或者说不建议的操作,会被禁止掉。
比如,想要通过用js代码主动唤起打开devtools面板,这个是不允许的。
https://bugs.chromium.org/p/chromium/issues/detail?id=112277
可以看到回复:
举个栗子🍎
1.编辑扩展程序所需要的主要文件夹
文件结构说明
page_action,browser_action类型的扩展对应位置
2.打包生成插件包
浏览器打开 chrome://extensions/(或者‘更过工具->扩展程序’),左上角有一个
打包扩展程序
按钮然后,将生成的*.crx文件拖到浏览器即可完成安装。