使用Firefox 28,有螢火蟲1.12.7,在Ubuntu 11.04的GNU/Linux從Firefox擴展強制調試打印輸出(Zotero只翻譯)
我使用的Firefox插件Zotero只4.0.17.1。作爲其安裝的一部分,Zotero在firefox_profile/zotero/translators/
中安裝了所謂的翻譯器(JavaScript代碼)。我想在BibTeX.js譯員(firefox_profile/zotero/translators/BibTeX.js
)中更改一些內容。我使用它的方式是在Zotero首選項/導出/快速複製/默認輸出格式下拉菜單中設置BibTex;然後當我用選中的Zotero項目使用Ctrl + Shift + C時,剪貼板上會出現bibtex格式的文本。
我可以確認更改BibTeX.js
文件的工作,因爲我可以添加新的領域fieldMap
,保存BibTeX.js
文件,隨後馬上(無火狐需要重新啓動)這些最終在剪貼板中,按Ctrl + Shift + C後在物品上使用。到現在爲止還挺好。
但是,我想調試一些東西 - 事實證明這是非常困難的;下面後總結我的經驗console.log()
:
Zotero Forums - Developing Site Translator:
只是開發商的問題,我試圖找到登錄的JavaScript代碼的正確方法,比如使用Firebug控制檯.log功能。
我嘗試了不同的方式,如console.log,firebug.console.log,alert,...沒有任何人的作品。
你通常如何做?Zotero.debug()
現在,Zotero.debug()
實際上需要實現:
debug_output [Zotero Documentation]
- 打開Zotero只喜好的高級窗格。 ...
- 點擊「允許」下的調試輸出日誌
而我做了,然後我可以看到「0行登錄」中的首項開始填寫,然後我可以點擊查看輸出 - 而事實上,也有一些Zotero只調試消息出現,當我按Ctrl + Shift + C鍵上的項目,從而引發BibTex.js
除了 - 這裏是踢球 - 沒有Zotero.debug
從BibTex.js
是當下!?在每項功能開始時,我都沒有嘗試手動添加這些功能; 和那些已經存在於源代碼中的東西,顯示出來了嗎?好的,大多數Zotero.debug
s的來源都在一些if
有條件的,它們可能都沒有被擊中;然而,我添加的是在每個功能的開始 - 仍然沒有消息打印?! (並且在這個調試輸出中可以看到,也就是說,最初的JSON字符串正好是BibTex.js
,因此解析了正確的文件)。
由此看來,我的第一個問題是:這個「翻譯器」JavaScript運行在與通常的擴展JavaScript不同的上下文中是否正確?如果是這樣,這將解釋爲什麼console.log()
(或console.error()
)沒有打印任何東西,...
第二個問題:我有什麼選擇打印任何此類調試從一個JavaScript隨時隨地文件也是這樣嗎?看起來我不能從那裏調用window.alert()
......如果我在Zotero調試輸出日誌記錄中沒有得到任何東西,或者在Firefox「瀏覽器控制檯」(我知道它替換了舊的「Error控制檯「用於擴展JavaScript消息)。
(我也嘗試firefox -zoterodebug
- 簡單地提供對終端的標準輸出相同Zotero只調試輸出,與BibTex.js
消息仍下落不明,所以這不是解決......)
非常感謝提前爲任何答案,
乾杯!
事實證明,一個'Zotero.debug()'將內部'BibTex.js'工作,如果在開始時加入(第一個'function'定義之前),並且如果在第一放置函數'buildCiteKey';不知道這是否意味着像getFieldValue()這樣的函數不會觸發? – sdaau