loading请求处理中...

谷歌浏览器插件开发知识相关

2021-12-01 09:10:46 阅读 10567次 标签: 作者: anyi
    当你在使用浏览器的时候会使用到一些浏览器中的功能,来方便自己的操作,但是有些特殊的功能浏览器一般的功能是无法实现的,这就需要依靠浏览器插件来实现。浏览器插件开发只是对其进行起一个补充作用的程序,插件是一种遵循一定规范的应用程序接口编写出来的程序。很多软件都有插件,插件有无数种。我觉得Google对我们程序开发员来说是个很大度的公司,在谷歌浏览器这个产品上面就可见一斑。下面一品威客网就为您介绍谷歌浏览器插件开发知识相关:
谷歌浏览器插件开发开发相关
    关于oauth协议 
    OAuth协议的详细内容可以参考RFC文档或者oauth官方网站的文档,以下我在研究过程中能记得的一些小TIP: 
    官方OAUTH文档是说所有的OAUTH实现应该可以放在HTTP HEADER或者POST FORM或者URL GET中,但是很多网站提供的AIP都只支持其中一种,比如豆瓣和新浪的api是放在http header中,而腾迅微博的API的OAUTH数据是只能附加上URL上做为GET的请求数据。这个需要仔细查看对应网站的API文档,以免走错路。 
    计算签名时,有些数据是必须放到basicString中做为签名的一部分来签名的,比如说新浪微博的发表新微博,需要把发表的内容转码后以status作为KEY,内容作为value成为basicString的一部分,然后再计算签名。此外签名时参数的顺序也不能错。否则会出现签名认错失败的情况。 
    虽然很多网站的API OAUTH认证的文档写得不详细,但是容易出错的地方还是可以到他们的网站上找到的,一旦出错了,先到文档上找找是不是有什么特别的提示,这样可能可以更快的发现错误。

    关于跨域提交请求 
    谷歌浏览器禁止跨域提交Ajax请求(除非是jsonp方式),但是在插件的backgroupd页面是可以直接跨域提交Ajax请求的!比如说如果想在contentscript.js中在豆瓣的页面访问新浪微博的链接,这样是不行的,谷歌浏览器会提示你禁止访问,这个时候需要把它放到background.html中来做。 
    另外要注意的是,有些网站跨域提交POST数据被直接被禁止,所以需要使用这些网站提供的API来实现对应的功能,验证方式建议可以的话 尽量使用oauth一劳永逸的方式。

    关于localStorage 
    可以让程序员来编程存储用户浏览器数据,也就是说用户就算关闭浏览器,下次再打开时,localStorage的数据仍然存在。但是如果用户执行了清理所有浏览器数据及cookie时,存在localStorage里的数据将消失。 
    每个网站都有自己的localStorage存放在谷歌浏览器缓存中互不冲突。而插件仍然也保存了一份不冲突的localStorage。也就是说:如果在豆瓣的contentscript.js中执行对localStorage的操作,只能取到豆瓣的localStorage,而无法取到插件的localStorage,如果要执行对插件的localStorage的读写操作,需要使用谷歌浏览器的谷歌浏览器.extensions.sendMessage()来存取。 
    另外,localStorage只能存二维数据。但是可以通过JSON.parse(normalString)来让它解压更复杂的json数据,相应的可以通过JSON.stringify(jsonString)来序列化一串JSON数据。 

    以上就是谷歌浏览器插件开发知识相关,谷歌浏览器插件开发起来最简单,总体上看没什么新的技术,开发语言就是javascript,web前端工程师能很快上手;而Firefox的插件开发则复杂许多,涉及到环境的搭建和一些WEB以外的技术;IE的插件开发就更复杂了,需要熟悉C++和COM技术,当然还要装微软的Visual Studio。如果您的浏览器需要相关的插件开发,那就到一品威客网发布任务需求,专业插件开发人才给您提供满意服务。

公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答