C#WPF WebBrowser控件:如何使用JavaScript

时间:2012-04-28 20:12:05

标签: c# javascript .net wpf webbrowser-control

我正在使用WPF WebBrowser控件,我想访问一些JavaScript函数,但是存在问题。

我可以使用InvokeScript并执行browser.InvokeScript(“alert”,“Hello”); q但是如何通过ID或TAG获取元素以及如何将该元素分配给javascript var?

实施例: 使用Javascript: var elements = document.getElementsByTagName(“embed”); 元素[0] .doSomething();

C#: 怎么样?

我尝试了一切,但没有任何效果。任何人都可以帮助我:(

1 个答案:

答案 0 :(得分:1)

很晚才回答,但如果有其他人需要它:

直接C#:http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.getelementsbytagname.aspx

HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("embed");
foreach (HtmlElement elem in elems)
    {
        elem.InvokeMember("doSomething");
    }

备选方案:http://msdn.microsoft.com/en-us/library/a0746166

基本上你应该在JS中创建一个函数:

var myCustomFunc = function(tagName) {
  var elements = document.getElementsByTagName(tagName); elements[0].doSomething();
}

然后使用

从C#中调用它
webBrowser1.Document.InvokeScript("myCustomFunc ", new String[] { "embed" });

变量“tagName”被替换为“embed”