firbreath -npapi- getElementsByname无法正常工作



我正在尝试调用JavaScript本机方法getElementsByName以检索具有相同名称的所有元素列表(name =")。

这是我与Internet Explorer一起使用的代码:

std::vector<FB::JSObjectPtr> nameList = DOMdoc->callMethod<std::vector<FB::JSObjectPtr> >("getElementsByName", FB::variant_list_of("name1");

没有返回结果。通过直接执行JavaScript中的方法,我有正确的项目数:

document.getElementsByName("name1")

我还尝试直接使用有效但仅返回一个元素的getElementById:

DOMdoc->getElementById("name1")->getJSObject();

不幸的是,我需要检索出现的radiobutton的元素列表:

<input type="radio" name="name1" value="value1">Radio 1<br/>
<input type="radio" name="name1" value="value2">Radio 2<br/>
<input type="radio" name="name1" value="value3">Radio 3<br/>

任何帮助将不胜感激,

谢谢。

update

只是尝试使用getElementsbytagname而没有更多成功:

nameList = DOMdoc->callMethod<std::vector<FB::JSObjectPtr> >("getElementsByTagName", FB::variant_list_of("name1"));

您没有指定您正在使用的浏览器;我猜您可能正在使用IE。如果没有,这可能无济于事。

有一些类似的方法无法直接从IE中的插件调用,您必须使用正确的接口。这就是为什么在FB :: DOM :: element上有一种特殊方法来调用该方法。

尝试类似:

std::vector<FB::DOM::ElementPtr> nameList = DOMdoc->getElementsByTagName("name1");

我假设,尽管您没有指定,但您通过调用m_host->getDOMDocument()

获得DOMDOC

祝你好运

相关内容

  • 没有找到相关文章

最新更新