本文是我写的另一篇经验“怎样开发Chrome插件”的进阶篇,通过本文,你将更加深入的了解Chrome插件,并能为相关网页开发出相应的插件来。工具/原料Chrome浏览器文本编辑工具基本原理我们知道,Chrome插件的开发语言是Javascript,而Javascript试运行在网页中的,而popup.html(就是弹出页面)只有在点击相应图标时才能 展开
本文是我写的另一篇经验“怎样开发Chrome插件”的进阶篇,通过本文,你将更加深入的了解Chrome插件,并能为相关网页开发出相应的插件来。工具/原料Chrome浏览器文本编辑工具基本原理我们知道,Chrome插件的开发语言是Javascript,而Javascript试运行在网页中的,而popup.html(就是弹出页面)只有在点击相应图标时才能起效果,而不是自动的执行。所以Chrome提供给我们另一种页面叫background,这个页面,在插件加载时被运行,我们只要在里面注册函数,就可以在相应的时机执行相应的函数。最常用的事件,我个人觉得是tabs的事件,比如tabs的updated事件,每当tab更新的时候就会触发,我们就是在这时,将事先为用户页面准备好的Javascript插入到用户页面里。用户界面指的是tab打开的界面,比如百度数字大人贴吧的版面。这里可能有人不禁要问,为什么要插入代码呢?不插入不行么?答案是不行,如果不插入代码,代码只能运行在background页面里,代码操作的是background页面,而不是用户页面,所以,为了能给用户页面提供服务,我们必须插入代码。实现相关功能的函数在Chrome插件开发的文档里都有,详细地址见参考资料。步骤/方法如果你看了前一篇,你就应该有大概如下的文件。在配置文件里,填写“background_page”一项,并指明属性是哪个页面,当然这个页面也必须在与配置文件同一个目录下才行。实例如下:{"name": "TiebaAddin",backgound_page": "background.html",...}在background页面里,写一个Javascript函数,名字为InsertFunc,并在这个函数里注册相关代码。之后在最后,向Chrome注册这个函数信息,让每当tab更新时触发。function InsertFunc(tabId,changeInfo,tab){ //让用户界面执行代码。 chrome.tabs.executeScript(tabId,{code : "alert('看看这是那个页面弹出的!');"}); //让用户界面执行一个文件的JS。 chrome.tabs.executeScript(tabId,{file : "Check.js"});}//注册事件的响应函数chrome.tabs.onUpdated.addListener(InsertFunc);保存,在扩展页面里,选择重新载入,最后实验即可。注意事项对于第2步:Check.js文件必须在同一个目录下,而且由于Javascript脚本语言的特性,可能你写错一些什么就不会执行,所以请千万确保你写的代码语法正确!对于第3步:点击小扳手>>"Tools">>"Extensions",然后你就看到了你的工程,重新载入一下。请千万主要,有的时候,不重新载入也能运行新的程序,但是这不是所有时候都这样的!请不要抱着侥幸的心理,一定要每次写完代码后重新载入才行! 收起