C# WPF WebBroswer Control: How to use JavaScript

本文关键字:to use JavaScript How WPF WebBroswer Control | 更新日期: 2023-09-27 18:32:29

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

我可以使用InvokeScript并执行浏览器。InvokeScript("alert", "Hello"(;q 但是如何通过 ID 或 TAG 获取元素以及如何将该元素分配给 javascript var?

例:Javascript:var elements = document.getElementsByTagName("embed"(;elements[0].doSomething((;

C#:如何?

我尝试了一切,但没有任何效果。谁能帮我:(

C# WPF WebBroswer Control: How to use JavaScript

相当晚的答案,但如果其他人需要它:

直接 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">