none
c# webbroswer控件如何杜绝广告 RRS feed

答案

  • 您好,

    請參考一下以下的Code,

    專案先加入 c:\windows\system32\mshtml.tlb 參考,

    using mshtml;

    在webBrowser1_DocumentCompleted事件中,去呼叫 InjectAlertBlocker ,如下,

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    	InjectAlertBlocker();
    }
    
    private void InjectAlertBlocker()
    {
    	HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
    	HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
    	IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
    	string alertBlocker = "window.alert = function () { }";
    	element.text = alertBlocker;
    	head.AppendChild(scriptEl);
    }


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年7月25日 1:48

全部回复

  • 您好,

    请参考

    Blocking dialogs in .NET WebBrowser control

    C# Web Browser with Popup Blocker

    ,希望对您有帮助。


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/


    2012年7月24日 5:32
  • 您好,

    请参考

    Blocking dialogs in .NET WebBrowser control

    C# Web Browser with Popup Blocker

    ,希望对您有帮助。


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/


    英文看不懂,怎么办…
    2012年7月24日 9:48
  • 您好,

    請參考一下以下的Code,

    專案先加入 c:\windows\system32\mshtml.tlb 參考,

    using mshtml;

    在webBrowser1_DocumentCompleted事件中,去呼叫 InjectAlertBlocker ,如下,

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    	InjectAlertBlocker();
    }
    
    private void InjectAlertBlocker()
    {
    	HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
    	HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
    	IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
    	string alertBlocker = "window.alert = function () { }";
    	element.text = alertBlocker;
    	head.AppendChild(scriptEl);
    }


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年7月25日 1:48
  • 您好,

    請參考一下以下的Code,

    專案先加入 c:\windows\system32\mshtml.tlb 參考,

    using mshtml;

    在webBrowser1_DocumentCompleted事件中,去呼叫 InjectAlertBlocker ,如下,

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    	InjectAlertBlocker();
    }
    
    private void InjectAlertBlocker()
    {
    	HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
    	HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
    	IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
    	string alertBlocker = "window.alert = function () { }";
    	element.text = alertBlocker;
    	head.AppendChild(scriptEl);
    }


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    这样是不是只要是跳转的网站都被屏蔽了啊…
    2012年7月26日 2:35