zoukankan      html  css  js  c++  java
  • 在C# WebBrowser控件插入JS代码,并执行!

    在C# WebBrowser控件插入JS代码,并执行!

        HtmlElement script = webBrowser.Document.CreateElement("script");
        script.SetAttribute("type", "text/javascript");
        script.SetAttribute("text", "function _func(){alert('OK')}");
        HtmlElement head = webBrowser.Document.Body.AppendChild(script);
        webBrowser.Document.InvokeScript("_func");

    WPF的WebBrowser和WinForm的WebBrowser有一定区别。

    要向其中注入javascript脚本,经过本人试验,下面一条路可以走通:

    mshtml.HTMLDocument htmlDoc = Browser.Document as mshtml.HTMLDocument;
    var head = htmlDoc.getElementsByTagName("head").Cast<HTMLHeadElement>().First();
    var script = (IHTMLScriptElement)htmlDoc.createElement("script");
    script.text ="alert('hello world')";
    head.appendChild((IHTMLDOMNode)script);

    该方法还可以注入javascript函数,在需要的时候调用 Browser.InvokeScript()即可。

    但是今天发现一个很奇怪问题。。我用该注入方法修改 document.body.style.zoom,整个页面会缩放,但是其中的flash等控件居然有问题。。

    然后我用IE8带的开发人员工具注入修改 document.body.style.zoom 则没这个问题。。。

  • 相关阅读:
    AD 快捷键
    AD PCB 错误检查
    AD 在 PCB导出封装库
    AD PCB 机械层 画板步骤
    不同频率对PCB材料的要求
    RF 天线长度,通信距离估算
    RF硬件检查注意事项
    影响RSSI的因素
    阅读与思考
    面向对象特性分析
  • 原文地址:https://www.cnblogs.com/daming1233/p/6423315.html
Copyright © 2011-2022 走看看