载入中
自定义HTML载入中... loading
firefox extension的javascript运行环境和调试 [原创 2007-05-24 19:44:34]  删除... 
字体变小 字体变大

继续抓瞎似的摸索。。。

* 执行环境

1. 在overlay.js中的全局位置输出alert(this),结果输出:[object ChromeWindow] , 说明ChromeWindow类型的this对象是firefox扩展javascript的全局环境。(如同html中window对象的是普通script脚本的全局环境。)

2. 另外,全局环境对象的名字也叫window, (如同html中的javascript),在全局访问this和访问window效果是一样的。

3. 从 http://www.xulplanet.com/references/objref/ChromeWindow.html 查ChromeWindow和window的区别,发现类ChromeWindow仅仅比window多实现一个接口----nsIDOMChromeWindow <http://www.xulplanet.com/references/xpcomref/ifaces/nsIDOMChromeWindow.html>

4. 从ChromeWindow文档来看,在扩展中的javascript中访问浏览器当前网页的window对象,需要访问window.content, 访问当前网页中的document需要写成window.content.document.

* extension中的出错处理

1. firefox默认的“java console”不能输出extension中的javascript错误。新版本的“Console”插件( https://addons.mozilla.org/en-US/firefox/addon/1815)弥补了这个缺陷,可以用来检查Chrome错误。

2. window.onerror还是可以工作。这个技巧还可以使用:

window.onerror = function(msg,url,line){
 ACPdebug.onWindowError(msg,url,line);
}

3. 我在《从javascript语言本身谈项目实战》这篇文章中提到的assert和输出stack tree的调试技巧还可以使用。


非常感谢galaxysong对我的耐心指导o(∩_∩)o...哈哈。

 

分类: xul/javascript
所属版块: 科技
票数:
什么是“我顶”?
点击数:    评论数:
本文章引用通告地址(TrackBack Ping URL)为:
本文章尚未被引用。
发表评论
大 名:
(不填写则显示为匿名者)
网 址:
(您的网址,可以不填)
标 题:
内 容:
请根据下图中的字符输入验证码:
(您的评论将有可能审核后才能发表)
和讯个人门户 v1.0 | 和讯部落 | 客服中心