【发布时间】:2014-11-10 23:59:49
【问题描述】:
我有一个简单的 Firefox 插件工作。它通过菜单打开和关闭。请参阅“工具 -> 经典定位器”菜单项。
插件将对 HTML 文档中元素的类名进行一些报告。我不认为这是一项如此令人讨厌的任务。
它看到标签,但哪些标签?它们似乎是 XUL 文档中的标签。很多“menuitem”之类的。并且没有“输入”标签。我正在查看一个带有表单和两个文本字段的页面,并且那里有两个输入标签,但插件看不到它们。
监听函数是:
findClassLabels : function(anEvent) {
var doc = window.document;
var text = "// At " + Date() + ", Page = " + doc.title + "\n";
oStream.write(text, text.length);
var tags = doc.getElementsByTagName("*");
for (var idx = 0; idx < tags.length; idx++) {
var tag = tags[idx];
var str = "tag: '" + tag.tagName + "' -> class: '" + tag.className + "'\n";
oStream.write(str, str.length);
}
oStream.write("\nDONE\n\n", 7);
}
这是写入文件“/tmp/test.txt”。这部分一切正常,我看到了开始消息和“完成”,而不是介于两者之间的正确内容。
完整的项目在https://github.com/rkiddy/classy-locator-firefox-extension.git
如果你克隆项目,输入“make”,然后在 Firefox 中打开 xpi 文件,它就可以工作了。点击“开始”菜单,然后重新加载页面。你会在 /tmp/test.txt 文件中看到一堆输出。
任何建议将不胜感激。
【问题讨论】:
标签: javascript firefox firefox-addon dom-events