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

[size=large]很久很久以前,我就会写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


[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值