How to inject Javascript in WebBrowser control?

前端 未结 15 2565
夕颜
夕颜 2020-11-22 04:56

I\'ve tried this:

string newScript = textBox1.Text;
HtmlElement head = browserCtrl.Document.GetElementsByTagName(\"head\")[0];
HtmlElement scriptEl = browser         


        
15条回答
  •  日久生厌
    2020-11-22 05:35

    this is a solution using mshtml

    IHTMLDocument2 doc = new HTMLDocumentClass();
    doc.write(new object[] { File.ReadAllText(filePath) });
    doc.close();
    
    IHTMLElement head = (IHTMLElement)((IHTMLElementCollection)doc.all.tags("head")).item(null, 0);
    IHTMLScriptElement scriptObject = (IHTMLScriptElement)doc.createElement("script");
    scriptObject.type = @"text/javascript";
    scriptObject.text = @"function btn1_OnClick(str){
        alert('you clicked' + str);
    }";
    ((HTMLHeadElementClass)head).appendChild((IHTMLDOMNode)scriptObject);
    

提交回复
热议问题