【发布时间】:2010-04-07 04:17:42
【问题描述】:
我正在使用 C++ 编写 Firefox 扩展。 我正在尝试访问“TabOpen”事件处理程序中的 XUL:tabox 元素,但我无法访问任何 XUL 元素。
我将我的扩展的伪代码放在这里以供参考:
HandleEvent()
{
if (event type is TabOpen)
{
nsCOMPtr<nsIDOMNode> OriginalNode = do_QueryInterface(event->GetTarget);
nsCOMPtr<nsIDOMNodeList> childlist;
//
// Note here that I got OriginalNode's local name as "tabbrowser"
//
OriginalNode->GetChildNodes(getter_AddRefs(childlist));
PRUint32 len;
childlist->GetLength(&len); // Return 1; consider only "popup" child element.
nsString localName;
nsCOMPtr<nsIDOMNode> node1;
childlist->Item(0, getter_AddRefs(node1));
node1->GetLocalName(localName); // Returns "popup" as the local name.
}
}
通过 DOM Inspector 遍历 DOM 树,我了解到 XUL 元素是匿名内容。
如何访问这些 XUL 元素?
提前非常感谢,
外婆。
【问题讨论】:
标签: c++ xul firefox-addon