如何在Web浏览器控件中抑制脚本的同时运行某些脚本

时间:2015-12-28 15:33:48

标签: c# webbrowser-control

我尝试在我的应用程序中使用webbrowser控件,我想在其中阻止scrips和框架。 我使用this answer中的扩展网络浏览器控件来访问download control flags。 所以,我在表单构造函数中使用它如下:

undefined

看起来很有效,但我有一个注入的脚本,我想运行它。我在加载文档后(在DocumentCompleted事件中)注入了它

webBrowser1.DownloadControlFlags = (int)WebBrowserDownloadControlFlags.DLIMAGES
            + (int)WebBrowserDownloadControlFlags.NOFRAMES
            + (int)WebBrowserDownloadControlFlags.NO_SCRIPTS
            + (int)WebBrowserDownloadControlFlags.NO_FRAMEDOWNLOAD
            + (int)WebBrowserDownloadControlFlags.NO_JAVA
            + (int)WebBrowserDownloadControlFlags.NO_DLACTIVEXCTLS
            + (int)WebBrowserDownloadControlFlags.NO_BEHAVIORS
            + (int)WebBrowserDownloadControlFlags.NO_RUNACTIVEXCTLS
       +(int)WebBrowserDownloadControlFlags.SILENT;

但它没有像我所说的那样运行

    IHTMLDocument2 doc2 = webBrowser1.Document.DomDocument as IHTMLDocument2;
    IHTMLScriptElement script = (IHTMLScriptElement)doc2.createElement("SCRIPT");
    script.type = "text/javascript";

    script.text = @"// Highlight Words Script ....";

    IHTMLElementCollection nodes = doc.getElementsByTagName("head");
    foreach (IHTMLElement elem in nodes)
    {
        //Append script
        HTMLHeadElement head = (HTMLHeadElement)elem;
        head.appendChild((IHTMLDOMNode)script);
    }

如何在禁止运行文档脚本的同时运行脚本? 我可以让脚本运行但使用其他标志阻止脚本错误和不良行为吗?

0 个答案:

没有答案