- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
火狐扩展 FillForm 开发手记
FillForm 是 Firefox 的一个扩展,根据名字可以看出来是填写表单,但是实际
基本所有的表单元素都会处理的,这个扩展的功能就是可以保存和填写当前网页
所有文本框、复选框、单选框的内容 (input、textarea、select 标签)。
火狐官方安装地址:
/zh-CN/firefox/addon/160849
虽然 Firefox 本身也有自动填表的功能,但是也有些缺陷,例如:
1.别人临时用下你的电脑登录下邮箱,可是一打开网址发现里面已经填了你的用
户名和密码,这是我们所不愿意的。
2.有些网页在打开后会初始化一些东西,例如清空所有文本框,这样 Firefox 刚
刚自动填入的内容也没了。典型的一个例子就是 163 邮箱登录。
3.Firefox 要保存文本框内容必须在你有提交表单动作的时候才提示 “记住”还
是 “跳过”。
4.有些文本框并没有放在 Form 表单中,这样 Firefox 是没法直接保存的。
网上有一些填写表单的扩展的,但是用起来很不方便,记得有个扩展是把
Firefox 本身的填表功能升级了,填写用户名和密码后自动提交,这样上面列
出的问题 1对我们来说就更加糟糕了。还有个扩展是必须要用户自己设置哪个 id
哪个 name 的标签设置为什么值,这个对于大多数根本就不懂HTML 基础知识 的
人来说应该比较困惑,即使懂 HTML 的人也觉得比较麻烦。
用过世界之窗浏览器的人就知道了,那个里面的自动表单功能很好用,Alt+1 就
保持当前表单内容,Alt+Q 就填写当前表单内容(前提是你已经保存 了数据),
在你需要的时候才填写。本扩展就是要在 Firefox 上实现这功能。网上制作
Firefox 扩展的范例很少,在这里就顺便和大家分享下,记录下 我的开发过程,
大家也可以在下面发表点的建议。
2010/4/3
关于如何写火狐扩展,网上中文资料真是少之又少,好不容易找到个范例,对照
着做还是没反应。最后绕到火狐官网的开发者中心,都是英文的,尽管看着比
较吃力,但是还是慢慢啃了,找到个 helloworld 的范例,安装很简单,直接把xpi
文件拖到火狐浏览器里面即可。xpi 文件其实就是个 zip 压缩文 件,把后缀名改
成 zip 然后解压就可以看到里面的结构和代码了。组成比较简单,基本就一个 js
和一个 xul 文件。它是在浏览器中的工具菜单下增加一项,点 击后会弹出一个
关于对话框。
现在要做的就是在那个 js 文件里使用 dom 方式访问当前网页了,读取设置值。
可是当前页面的顶级元素是什么呢?在 js 中是 document,我在那 范例代码里
的 js 里修改测试了下发现并不被认识,然后研究了下其它的扩展的代码(所有
本机安装了的扩展都可以看到代码的),尝试了 doc、 application、firefox、app
等,都不行。
继续找资料,发现原来火狐浏览器自己的整个界面也是个 xul 文件,可以通过
chrome://browser/content /browser.xul 访问,document 是顶级元素,可是不
是那个当前网页的顶级元素,这样直接用 document 访问显然就不行了。检查了
下当 前网页所在的元素是:
view plaincopy to clipboardprint?
1. tabbrowser id=content disablehistory=true flex=1 content
tooltip=aHTMLTooltip contentcontextmenu=contentAreaContextMe
nu onnewtab=BrowserOpenTab(); autocompletepopup=PopupAutoCo
mplete ondrop=contentAreaDNDObserver.onDrop(event) onclick=
return contentAreaClick(event, false);panel class=autoscrol
ler id=autoscroller/panel/tabbrowser
这样用 document.getElementById(content)访问,但是真正要访问当前打开
的页还不行,得用
document.getElementById(content).selectedBrowser.contentDocument,这
样就突破
您可能关注的文档
最近下载
- 儿童呼吸道感染病原学诊断技术与临床诊治新进展题库答案-2025年华医网继续教育.docx VIP
- 2024届上海市普陀区初三一模数学试卷(含答案).pdf VIP
- 七款欠条模板(2024年8月03日) .pdf VIP
- GBT 51317-2019 石油天然气工程施工质量验收统一标准.docx VIP
- 有机肥料项目背景及需求分析.docx VIP
- 2024年辽宁省中考语文真题[含答案].pdf VIP
- 【人力资源SOP】HR招聘培训标准作业流程(SOP).xlsx VIP
- GF公司一线员工激励体系优化研究.pdf VIP
- PD06-MP03 线束设备安全操作规程.pdf VIP
- 2016新编ANSI B92.1-(R) SAE美国渐开线花键-中文翻译完整版.doc
文档评论(0)