【问题标题】:Accessing XUL anonymous content using C++使用 C++ 访问 XUL 匿名内容
【发布时间】: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


    【解决方案1】:

    我得到了使用 nsIDOMDocumentXBL 接口的解决方案。

    每个 DOM 文档都实现了 nsIDOMDocumentXBL 接口。

    如果有任何问题,可能是 IID 变化。

    外婆。

    【讨论】:

      猜你喜欢
      • 2017-01-24
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多