[英]C# webBroswer component override the window.print from javascript
[英]C# WPF WebBroswer Control: How to use JavaScript
我正在使用WPF WebBrowser控件,並且想訪問某些JavaScript函數,但是存在問題。
我可以使用InvokeScript並執行browser.InvokeScript(“ alert”,“ Hello”); q,但是如何通過ID或TAG獲取元素以及如何將該元素分配給javascript var?
示例:Javascript:var elements = document.getElementsByTagName(“ embed”); 元素[0] .doSomething();
C#:如何?
我嘗試了一切,但沒有任何效果。 誰能幫我 :(
答案很晚,但是如果其他人需要它:
直接的C#: http : //msdn.microsoft.com/zh-cn/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”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.