0

我正在尝试在 nsIAccessibleText XPCOM 接口上使用 getCharacterExtents() 方法。不幸的是,我无法获得有关如何查询此接口的任何文档。

let accessibleService  = Components.classes["@mozilla.org/accessibilityService;1"].createInstance(),
    nsIAccessibilityService = accessibleService.QueryInterface(Components.interfaces.nsIAccessibilityService);

显然这失败了。如何查询nsIAccessibleText接口和使用getCharacterExtents方法?

这是 MDN 文档:https ://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIAccessibleText

4

1 回答 1

0

好的,在敲了敲头之后,我设法让它工作了。从 IRC 的一些 Victor Porof 和其他 mozillian 那里得到了一些帮助。

let accService = Components.classes["@mozilla.org/accessibleRetrieval;1"].createInstance(Components.interfaces.nsIAccessibleRetrieval),
acc = accService.getAccessibleFor(aNode),
nsIAccessibleText = acc.QueryInterface(Components.interfaces.nsIAccessibleText)
// aNode is a DOM node in pres shell 0

希望这可以帮助某人。

于 2013-05-16T09:19:11.087 回答