使用Firefox 28,在Ubuntu 11.04 GNU / Linux上使用Firebug 1.12.7
我正在使用Firefox附加组件Zotero 4.0.17.1。作为其安装的一部分,Zotero在firefox_profile/zotero/translators/
中安装了所谓的翻译器(JavaScript代码)。我想在BibTeX.js翻译器(firefox_profile/zotero/translators/BibTeX.js
)中更改一些内容。我使用它的方式是在Zotero首选项/导出/快速复制/默认输出格式下拉列表中设置BibTex;然后当我使用Ctrl + Shift + C选择Zotero项目时,我在剪贴板上得到一个bibtex格式的文本。
我可以确认更改BibTeX.js
文件是否有效,因为我可以向fieldMap
添加新字段,保存BibTeX.js
文件,然后立即(不需要重启Firefox)这些结束在项目上使用Ctrl + Shift + C后,在剪贴板中。到现在为止还挺好。
然而,我想调试一些东西 - 结果证明是非常困难的;以下帖子总结了我对console.log()
:
Zotero Forums - Developing Site Translator:
对开发人员来说只是一个问题,我正在尝试找到登录javascript代码的正确方法,例如使用firebug console.log函数。
我尝试了不同的方式,比如console.log,firebug.console.log,alert,......没有人工作 你通常怎么做?Zotero.debug()
现在,Zotero.debug()
实际上需要启用:
debug_output [Zotero Documentation]
- 打开Zotero首选项的“高级”面板。 ......
- 单击“调试输出日志记录”下的“启用”
醇>
我做到了,然后我可以在Preferences开始填充中看到“0行记录”条目,然后我可以单击View Output - 实际上,当我单击Ctrl + Shift时,有一些Zotero调试消息项目上的+ C,从而触发BibTex.js
除了 - 这里是踢球者 - 来自 Zotero.debug
的没有 BibTex.js
!那些我试图在每个功能的开始时手动添加的东西; 也源代码中已经出现的那些?好的,源中的大多数Zotero.debug
都在一些if
条件内,并且可能没有一个被击中;但是,我添加的是每个功能的开始 - 仍然没有打印消息?! (并且它在此调试输出中可见,例如,解析了精确BibTex.js
的初始JSON字符串,因此正确地解决了正确的文件)。
由此,我的第一个问题是:这个“翻译”JavaScript是否运行在与通常的扩展JavaScript不同的上下文中?如果是这样,那就可以解释为什么console.log()
(或console.error()
)无法打印任何内容......
第二个问题:我有哪些选项可以从这样的JavaScript文件中打印任何类型的 调试?我似乎无法从那里调用window.alert()
...如果我无法在Zotero调试输出日志中获取任何内容,也无法在Firefox“浏览器控制台”(我明白替换)中写入文件用于扩展JavaScript消息的旧“错误控制台”)。
(我也试过firefox -zoterodebug
- 只是在终端的标准输出上提供了相同的Zotero调试输出,BibTex.js
消息仍然缺失,所以这不是解决方案...... )
非常感谢任何答案,
干杯!
答案 0 :(得分:0)
好的,明白了 - 事实证明,BibTex.js
有两种执行方式:
doExport()
- > buildCiteKey()
,writeField()
doImport()
- > beginRecord()
- > processField()
... 我试图记录,比如processField
,但我只是通过Ctrl + Shift + C触发doExport
- 它不会触发processField
,它是一个导入功能...现在,我尝试仅记录doExport
路径中的函数,它们开始在日志中显示...
但是学习仍然很好 - 为什么不能在这个扩展代码中使用JavaScript,登录到Firefox控制台?
答案 1 :(得分:0)
你能不能使用console.log?
只需console.log('i am now dumping an object = ',obj)
然后在浏览器控制台中,单击" obj"链接。
How to access .log .info. warn functions from Services.console