`
- 浏览:
1311255 次
- 性别:
- 来自:
江苏
-
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
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
XULRunner包含了一整套浏览器引擎、网络功能、图形渲染和脚本执行环境,这些都是Mozilla Firefox等浏览器背后的关键技术。 3.6.26是这个XULRunner版本的编号,它代表了该软件的某个稳定版本。在软件开发中,版本号...
4. **Firefox插件支持**:XULRunner可以用来开发Firefox插件,这些插件可以扩展浏览器功能,提供自定义的网页行为或者增强用户体验。XUL和JavaScript结合,使得插件开发更为便捷。 5. **GUI构建**:XULRunner不仅仅...
10. **其他插件库**:Kettle有一个开放的插件机制,很多社区开发的插件也会提供相应的jar包,如`pentaho-kettle-plugins-get-sql.jar`用于获取数据库表结构,`pentaho-kettle-plugins-hadoop-cluster-ui.jar`用于...
1. **应用程序框架**:XULRunner提供了一个完整的应用程序运行时环境,包括渲染引擎、网络连接、本地文件系统访问以及硬件资源管理等功能。它为开发者提供了构建复杂应用程序的基础架构。 2. **跨平台支持**:...
另一个标签 "FireFox",众所周知,是 Mozilla 的旗舰产品,它使用了相同的 XUL 和 XPCOM 技术。Firefox 的成功部分归功于其高度可定制的用户界面,而这正是 XULRunner 提供的能力。通过 XULRunner,开发者可以创建...
1. **运行时环境**:提供了XULRunner运行所需的基本组件,使得开发者可以运行和调试基于XUL的应用程序。 2. **头文件**:包含了开发XUL应用程序所需的接口定义,如XUL元素、CSS样式、JavaScript API等,这对于编写...
java运行依赖jar包
java运行依赖jar包
java运行依赖jar包
Mozilla Thunderbird是由Mozilla浏览器的邮件功能部件所改造的邮件工具,使用 XUL 程序界面语言所设计,是专门为搭配 Mozilla Firefox 浏览器使用者所设计的邮件客户端软件,介面设计更简洁、而且免安装。
《XULRunner:Firefox浏览器内核的深度解析》 XULRunner,全称为“XML User Interface Library Runner”,是Mozilla基金会开发的一个开源软件框架,用于运行使用XUL(XML User Interface Language)界面描述语言...
XULRunner是一个开源的软件运行环境,由Mozilla基金会开发,主要用于支持使用XUL(XML User Interface Language)构建的应用程序。XUL是一种标记语言,类似于HTML,但设计用于创建跨平台的用户界面,尤其适用于桌面...
它提供了丰富的API,使得开发者能够使用JavaScript和CSS来编写跨平台的Firefox扩展,而无需深入学习XUL或XPCOM。SDK的核心组件包括Core模块、Add-on Builder和Add-on SDK CLI(命令行接口)。 二、核心模块 Fire...
这个压缩包包含了一整套运行时环境,使得开发者可以运行基于XUL的应用程序,而无需安装整个Firefox浏览器或其他Mozilla产品。 在解压缩这个文件后,你需要将其内容放置在一个特定的路径下,比如"D:\XULRunner"。...
XULRunner在Eclipse插件中的应用,允许开发者利用XUL的强大功能来设计和实现插件的用户界面,同时得益于Eclipse的插件体系结构,这些接口可以与其他Eclipse组件无缝集成,提升开发效率。例如,开发者可以创建一个...
【xulrunner-1.8.1.2pre.en-US.win32】是一个与Firefox早期版本相关的技术,它是Mozilla基金会开发的一个开源运行时环境,用于支持基于XUL(XML User Interface Language)的应用程序运行。XUL是一种XML语言,用于...
XULRunner是由Mozilla基金会开发的开源软件,它的主要功能是作为一个运行时环境,用于支持那些使用XUL、JavaScript、CSS、XML以及各种其他Web技术构建的应用程序。XUL是一种用来描述用户界面的语言,类似于HTML,但...
XULRunner是一个开源的运行环境,它能提供Mozilla Firefox浏览器和其他基于XUL的应用程序所需的运行时组件。 【描述分析】:描述中提到的问题可能是在使用Uptana(可能是用户误拼或者是个别项目名称)时遇到了困难...
火狐浏览器(Firefox)插件开发涉及一系列技术与步骤,主要目标是创建增强或定制浏览器功能的软件组件。以下是对标题和描述中提及知识点的详细解释: 1. **开发环境搭建**: - 使用`-no-remote -P develop`参数...