`
zuroc
  • 浏览: 1290810 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

Firefox插件(XUL)开发 学习笔记 - 1. 开发环境以及数据库一瞥

阅读更多
很久很久以前,我就会写Firefox XUL插件的Hello World
很久很久以后,我还是之只会Hello World
不过进来firefox上开发XUL插件似乎越来越流行了,于是,我继续未完成的革命.

第一天,先配置一下开发环境,来一个js操作数据库的Hello World
附件中还有一个xul写的提示界面

1.
开发环境配置
参考文章:
Firefox扩展开发学习杂记 http://www.zeali.net/entry/567
Extension Developer's Extension
https://addons.mozilla.org/zh-CN/firefox/addon/7434
此外还安装 firefox插件Sqlite Manager

关闭firefox,修改prefs.js
user_pref("javascript.options.showInConsole",true);
user_pref("extensions.logging.enabled",true);
user_pref("nglayout.debug.disable_xul_cache",true);
user_pref("browser.dom.window.dump.enabled",true);
user_pref("javascript.options.strict ",true);


插件 DebugLogger 用法

logMngr = Components.classes["@mozmonkey.com/debuglogger/manager;1"] .getService(Components.interfaces.nsIDebugLoggerManager);

logger = logMngr.registerLogger("程序名");

logger.log(3, "Hello World");

我使用的规则如下
1.普通日志
2.程序调试
3.警告
4.错误
5.致命错误


2.
数据库的使用
参考文章:http://developer.mozilla.org/cn/docs/Storage

用Execute JS测试运行

//这里的生成一个文件对象
var file = Components.classes["@mozilla.org/file/directory_service;1"]
                     .getService(Components.interfaces.nsIProperties)
                     .get("ProfD", Components.interfaces.nsIFile);
file.append("数据库名称.sqlite");

//这是生成一个数据库对象
var storageService = Components.classes["@mozilla.org/storage/service;1"].getService(Components.interfaces.mozIStorageService);

var mDBConn = storageService.openDatabase(file);

//执行一句简单的sql
mDBConn.executeSimpleSQL("CREATE TABLE foo (a INTEGER,b TEXT)");
mDBConn.executeSimpleSQL("INSERT INTO foo VALUES (2008,'张沈鹏')");

在我的电脑上生成了
D:\USERPROFILE\Application Data\Mozilla\Firefox\Profiles\sxqnh3dj.default\数据库名称.sqlite

Sqlite Manager打开,可以看到有一个表foo,和我刚刚插入的数据.

OK,再演示一下查询
var statement = mDBConn.createStatement("SELECT * FROM foo WHERE a = ?1");
statement.bindInt32Parameter(0,2008);//位置,数值
while (statement.executeStep()) {
var xx=statement.getInt32(0);
alert(xx)
xx=statement.getUTF8String(1);
alert(xx)
}

statement.execute();//不用返回结果的sql,比如insert



6
1
分享到:
评论
3 楼 wrj913 2012-08-06  
非常感谢,正好能用上 
2 楼 qxucc 2010-06-10  
不错
1 楼 gmizr 2008-08-25  
严格来讲,应该算是extension吧。
插件开发要更复杂一些

相关推荐

    pentaho-xul-swt-7.1.0.0-12.jar

    java运行依赖jar包

    pentaho-xul-swing-7.1.0.0-12.jar

    java运行依赖jar包

    pentaho-xul-core-7.1.0.0-12.jar

    java运行依赖jar包

    QOwnNotes-20.3.6.dmg 与Nextcloud集成的纯文本文件笔记

    与Nextcloud集成的纯文本文件笔记 您在硬盘和自己的云中的笔记。 用Markdown突出显示,彩色标签和子文件夹编辑笔记QOwnNotes是Patrizio Bekerle(在GitHub和IRC上的pbek)针对GNU / Linux,Mac OS X和Windows纯...

    java集成kettle相关jar包

    由于无法从Maven repository中下载依赖,因此提供kettle相关的jar包需要手动安装到maven仓库中,并提供了pom.xml作为参考

    KETTLE工具的相关jar包 下载直接使用即可

    KETTLE工具的相关jar包 下载直接使用即可

    企业信息网格中XUL-SQL技术的研究.pdf

    企业信息网格中XUL-SQL技术的研究.pdf

    分布式信息集成中XUL-SQL问题的研究.pdf

    分布式信息集成中XUL-SQL问题的研究.pdf

    XUL开发手册(firefox)

    事实上,即将发布的 Firefox 4.0 不仅仅是由 XUL 构建的,但它提供了一个 XUL 运行时环境,允许任何 Firefox 用户运行其他 XUL 应用程序。在本教程,您开始使用 XUL 进行编程,并学习一些帮助您开发 XUL 应用程序的...

    破解可用spket-1.6.23.rar

    破解可用spket-1.6.23.rar亲测可用 ...Widget等新产品,具有代码自动完成、语法高亮、内容概要等功能,可以帮助开发人员高效的创建JavaScript程序,他可以以一个独立的桌面应用程序运行或者以Eclipse的一个插件运行。

    XUL开发手册.pdf

    XUL开发手册.pdf

    xul_hta_demo.zip

    《初识XUL用户界面UI开发》XUL是Mozilia社区开发技术中的一员,总要是为用户界面UI服务,Firefox就XUL以及其它一系列相关的基础库开发出来的成功之作。事实证明XUL是成功的UI开发技术,本文以一个最简明的视角来向看...

    mozilla_firefox_xul_spoof.nasl

    mozilla_firefox_xul_spoof

    (thunderbird-2.0.0.23.tar.gz

    Mozilla Thunderbird是由Mozilla浏览器的邮件功能部件所改造的邮件工具,使用 XUL 程序界面语言所设计,是专门为搭配 Mozilla Firefox 浏览器使用者所设计的邮件客户端软件,介面设计更简洁、而且免安装。

    XULRunner-Examples-master.zip

    XULRunner-Examples 是XULRunner 的学习资料、示例代码; 官网可能 很难找得到, 这里分享给大家, 个人玩过, 感觉还不错; 有想学习xul 的可以 私信我;

    XUL开发示例-HelloWorld

    自己写的一个xul的小程序。...下载后,直接在firefox上安装,会在状态栏出现helloworld标签。 也是自己编辑本示例,将文件后缀改为zip,解压就可以看到示例的源代码。本示例支持最高firefoex3.6.8。

    SwingML-v2-0.zip_SwingML_V2 _gml_java swing 开源_swing

    一个很好的XUL技术的java Swing用户界面开源程序,能够极大的减少界面开发时间。方便的实现RIA。

    java开源包10

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    zk-demo-3.5.2.zip_ruby _ui_zk ajax_zk demo zip_zkdemo3 download

    ZK提供基于XUL的标记语言和事件驱动的组件,可以让你像开发桌面应用程序一样简单。支持EL表达式和脚本语言包括:JavaScript、Ruby和Groovy等。支持Annotation及数据绑定。集成Google Maps、FCKeditor、DOJO以及...

Global site tag (gtag.js) - Google Analytics