火狐插件看到标签,但哪些标签
Firefox plugin sees tags, but which tags?
我有一个简单的火狐插件在工作。它通过菜单打开和关闭。请参阅"工具 -> 经典定位器"菜单项。
该插件将对 HTML 文档中元素的类名进行一些报告。我不认为这会是一项如此令人讨厌的任务。
它看到标签,但哪些标签?它们似乎是XUL文档中的标签。很多"菜单项"等等。并且没有"输入"标签。我正在查看一个带有表单和两个文本字段的页面,那里有两个输入标签,但插件看不到它们。
侦听器函数为:
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 文件中看到一堆输出。
任何建议将不胜感激。
您的评论澄清了您的问题:
你得到的 xul 元素返回。你的范围是错误的。通过执行访问选项卡内容
-
window.gBrowser.contentWindow.document.getElementsByBlassName
- 但是请注意,直接在
gBrowser
上执行contentWindow
会为您提供当前所选选项卡的内容窗口,您也可以跳过contentWindow.document
,只执行window.gBrowser.contentDocument
。-
window
是浏览器窗口而不是 html 窗口的DOMWindow
-
- 但是请注意,直接在
-
Services.wm.getMostRecentWindow('navigator:browser').gBrowser.contentWindow....
- 这将获取窗口类型导航器的最新窗口:浏览器 在此处查看有关窗口类型:
- 您可以使用
aDOMWindow.document.documentElement.getAttribute('windowtype')
获取窗口类型
-
像这样浏览所有窗口:
var DOMWindows = Services.wm.getEnumerator(null); while (DOMWindows.hasMoreElements()) { var aDOMWindow = DOMWindows.getNext(); var windowtypeOfADomWindow = aDOMWindow.document.documentElement.getAttribute('windowtype'); console.log('windowtype of this domwindow is:', windowtypeOfADomWindow) }
navigator:browser
窗口有一个gBrowser
,通常是一个gBrowser.tabContainer
,tabConatiner有子节点,它们是选项卡。因此,您可以像这样浏览选项卡:
var tabs = gBrowser.tabContainer.childNodes;
for (var i=0; i<tabs.length; i++) {
var aTab = tabs[i];
var aTabContentWindow = aTab.linkedBrowser.contentWindow;
}
相关文章:
- 在<页眉>标签
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- iframe正在添加标签,需要删除它们
- 如何自动调整标签的高度以适应内容
- Jquery标签插件粘贴问题
- Twitter引导程序Typeahead-Id&标签
- 如何在火狐浏览器中禁用F5和刷新
- 火狐侧边栏获取标签网址
- 火狐插件不会打开带有url的新标签
- 关于火狐中音频标签的奇怪问题
- 更改火狐输入文件标签中的光标样式
- 火狐/Chrome扩展:创建新标签时如何打开链接
- 锚标签禁用在火狐中不起作用
- 如何在火狐中覆盖新标签页
- 当我将鼠标悬停在动态创建的行上时,行中的选择元素(标签)选项无法正确下拉.火狐问题
- 在火狐中打开新标签
- 火狐浏览器:点击事件不调用 SPAN 标签
- 为什么我的选择标签在火狐和IE中显示不正确
- 如何禁用火狐“新标签”操作时按 ctrl 并单击带有 javascript 事件的链接
- 火狐插件看到标签,但哪些标签