@font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } @font-face{ font-family:"Calibri"; } @font-face{ font-family:"Arial"; } @list l0:level1{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"(%1)"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:21.2500pt;text-indent:-21.2500pt;font-family:'Times New Roman';} @list l1:level1{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:21.2500pt;text-indent:-21.2500pt;font-family:'Times New Roman';} @list l1:level2{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1.%2."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:28.3500pt;text-indent:-28.3500pt;font-family:'Times New Roman';} @list l1:level3{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1.%2.%3."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:35.4500pt;text-indent:-35.4500pt;font-family:'Times New Roman';} @list l1:level4{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1.%2.%3.%4."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:42.5000pt;text-indent:-42.5000pt;font-family:'Times New Roman';} @list l1:level5{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1.%2.%3.%4.%5."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:49.5500pt;text-indent:-49.5500pt;font-family:'Times New Roman';} @list l1:level6{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1.%2.%3.%4.%5.%6."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:56.7000pt;text-indent:-56.7000pt;font-family:'Times New Roman';} @list l1:level7{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1.%2.%3.%4.%5.%6.%7."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:63.7500pt;text-indent:-63.7500pt;font-family:'Times New Roman';} @list l1:level8{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1.%2.%3.%4.%5.%6.%7.%8."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:70.9000pt;text-indent:-70.9000pt;font-family:'Times New Roman';} @list l1:level9{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1.%2.%3.%4.%5.%6.%7.%8.%9."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:77.9000pt;text-indent:-77.9000pt;font-family:'Times New Roman';} @list l2:level1{ mso-level-number-format:decimal-enclosed-circle-chinese; mso-level-suffix:none; mso-level-text:"%1 "; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:0.0000pt;text-indent:20.0000pt;margin-left:0.0000pt; font-family:宋体;} @list l3:level1{ mso-level-number-format:chinese-counting; mso-level-suffix:none; mso-level-text:"%1、"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:0.0000pt; text-indent:0.0000pt; font-family:宋体;} @list l4:level1{ mso-level-number-format:decimal-enclosed-circle-chinese; mso-level-suffix:none; mso-level-text:"%1 "; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:0.0000pt;text-indent:20.0000pt;margin-left:0.0000pt; font-family:宋体;} @list l5:level1{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"(%1)"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:21.2500pt;text-indent:-21.2500pt;font-family:'Times New Roman';} p.MsoNormal{ mso-style-name:正文; mso-style-parent:""; margin:0pt; margin-bottom:.0001pt; mso-pagination:none; text-align:justify; text-justify:inter-ideograph; font-family:Calibri; mso-fareast-font-family:宋体; mso-bidi-font-family:'Times New Roman'; font-size:10.5000pt; mso-font-kerning:1.0000pt; } h1{ mso-style-name:"标题 1"; mso-style-next:正文; margin-top:17.0000pt; margin-bottom:16.5000pt; mso-para-margin-top:0.0000gd; mso-para-margin-bottom:0.0000gd; page-break-after:avoid; mso-pagination:lines-together; text-align:justify; text-justify:inter-ideograph; mso-outline-level:1; line-height:240%; font-family:Calibri; mso-fareast-font-family:宋体; mso-bidi-font-family:'Times New Roman'; mso-ansi-font-weight:bold; font-size:22.0000pt; mso-font-kerning:22.0000pt; } p.MsoTitle{ mso-style-name:标题; margin-top:12.0000pt; margin-bottom:3.0000pt; mso-para-margin-top:0.0000gd; mso-para-margin-bottom:0.0000gd; mso-pagination:none; text-align:center; mso-outline-level:1; font-family:Arial; mso-fareast-font-family:宋体; mso-bidi-font-family:'Times New Roman'; mso-ansi-font-weight:bold; font-size:16.0000pt; mso-font-kerning:1.0000pt; } p.15{ mso-style-name:标题A; mso-style-parent:标题; margin-top:12.0000pt; margin-bottom:3.0000pt; mso-para-margin-top:0.0000gd; mso-para-margin-bottom:0.0000gd; mso-pagination:none; text-align:center; mso-outline-level:1; font-family:Calibri; mso-fareast-font-family:宋体; mso-bidi-font-family:'Times New Roman'; mso-ansi-font-weight:bold; font-size:16.0000pt; mso-font-kerning:1.0000pt; } span.msoIns{ mso-style-type:export-only; mso-style-name:""; text-decoration:underline; text-underline:single; color:blue; } span.msoDel{ mso-style-type:export-only; mso-style-name:""; text-decoration:line-through; color:red; } @page{mso-page-border-surround-header:no; mso-page-border-surround-footer:no;}@page Section0{ margin-top:72.0000pt; margin-bottom:72.0000pt; margin-left:90.0000pt; margin-right:90.0000pt; size:595.3000pt 841.9000pt; layout-grid:15.6000pt; mso-header-margin:42.5500pt; mso-footer-margin:49.6000pt; } div.Section0{page:Section0;}
浏览器插件开发需求文档
一、主要开发浏览器适用版本:
(1) Chrome浏览器PC版
(2) Firefox浏览器PC版、移动版(重点)
(3) Microsoft Edge浏览器pc版、移动版(重点)
(4) Safar浏览器PC版、iOS版(待讨论)
二、具体需求:
1.1. 总体目标:
根据各个浏览器给出的开发规范文档,编写相应的插件,然后顺利的发布到相应的主流web store上去,所以不但要了解上述主流浏览器的API文档,还需要对上传的插件规则进行研究。
① 发布插件后,版本更新发布客户端需要自动进行更新,如果是直接到相应浏览器平台去获取更新的话,那么可以每天去检测一次新版本,然后弹出更新的功能内容,让客户选择是否更新,如果是需要自己购买服务器的话,那么久根据情况看是否每一、两周去检测扫描更新提示。
② 客户这边需要对插件的开启和关闭有相应的功能体现。
③ 这边如果功能比较多的话,那么可以给设置弹出提示,给相应的功能设置一个关闭和开启的开关,具体可以参考下图:
![](file:///C:\Users\Think\AppData\Local\Temp\ksohtml\wps92E6.tmp.jpg)
1.2. 详细需求
(1) 所写的插件必须可以成功的上传到浏览器的插件web store中供下载,并且可以成功安装(如果是用油猴插件,那么必须跳过源代码检查、更新提示,上传代码混淆、链接、下载等检查功能),具体如下图所示效果:
![](file:///C:\Users\Think\AppData\Local\Temp\ksohtml\wps92E7.tmp.jpg)
安装成功以后的效果:
![](file:///C:\Users\Think\AppData\Local\Temp\ksohtml\wps92E8.tmp.jpg)
![](file:///C:\Users\Think\AppData\Local\Temp\ksohtml\wps92F9.tmp.jpg)
注释:图像是灰色的可以用免费试用功能,不能用收费功能的,这边必须注册,登录以后才能正常使用收费功能。
![](file:///C:\Users\Think\AppData\Local\Temp\ksohtml\wps92FA.tmp.jpg)
(2) 插件安装成功以后,如果没有登录验证,则不可以使用收费功能,需要先进行注册,然后登录,具体如下图形式(注:风格用黑金属的格式):
![](file:///C:\Users\Think\AppData\Local\Temp\ksohtml\wps92FB.tmp.jpg)
(3) 账号通常有两种方式生成,一种是注册页面填上上级代理的邀请码注册成功后登录;还有一种就是由上级代理直接在系统后台进行开通,具体登录界面如下(注:风格用黑金属的格式):
![](file:///C:\Users\Think\AppData\Local\Temp\ksohtml\wps92FC.tmp.jpg)
![](file:///C:\Users\Think\AppData\Local\Temp\ksohtml\wps92FD.tmp.jpg)
(4) 登录验证成功后,就可以解锁更多功能,很多收费的功能都能体验,没有广告(注:图形的背景色换成天蓝色)。
![](file:///C:\Users\Think\AppData\Local\Temp\ksohtml\wps92FE.tmp.jpg)
(5) 按照不同平台给出的规范需要去进行适配,这边代码要求有以下几点:
① 对于一些核心代码和相应的接口必须抽取出来单独放一个文件,需要进行混淆、加密后才能被使用,具体是下载到本地被使用还是在线使用,技术要给出方案。
② 对于帐号密码是每次登录的时候进行校验还是先把账号密码和有效期的生成加密文件放在本地,只要将用户名和密码有效期与本地文件使用,然后每隔n天去服务器上远程校验,看一下哪种方式更安全有效,性价比更高,技术需要给出一个方案。
③ 对于注册登录是用google、apple、outlook、facebook等已有的帐号或邮箱系统,因为这边来生成的话对于有问题,重复的帐号等问题都会做校验,但是对接难度和后期的拓展性相对于单独的一套卡密系统哪个性价比会更高,这边需要给个建议。
这个不能发附件,直接复制粘贴就是这样了,大家不要看这个了