zoukankan      html  css  js  c++  java
  • Bug:Interop type 'mshtml.HTMLDocumentClass' cannot be embedded. Use the applicable interface instead.

    在vs2010中运行HTMLDocumentClass doc =new HTMLDocumentClass(); 会出现Interop type 'mshtml.HTMLDocumentClass' cannot be embedded. Use the applicable interface instead.的编译错误。原因是我们添加 Microsoft.mshtml的时候,由于mshtml.dll太大,微软设置了这个属性Embed Interop Type =true .

    解决的办法是:直接去掉Class后缀。

    下面代码演示阻止WPF中WebBrowser 弹出javascript 出错对话框

        private void InjectDisableScript()
            { 

               string DisableScriptError =
               @"function noError() {
               return true;
                } 
               window.onerror = noError;";


                HTMLDocument doc = browser.Document as HTMLDocument;
              
           

                IHTMLScriptElement scriptErrorSuppressed = (IHTMLScriptElement)doc.createElement("SCRIPT");

                scriptErrorSuppressed.type = "text/javascript";

                scriptErrorSuppressed.text = DisableScriptError;

                IHTMLElementCollection nodes = doc.getElementsByTagName("head"); 

                foreach (IHTMLElement elem in nodes)
                {
                    HTMLHeadElement head = (HTMLHeadElement)elem;
                    head.appendChild((IHTMLDOMNode)scriptErrorSuppressed);

                }

            }

  • 相关阅读:
    一、第一个小程序
    Golang学习笔记
    第四章 自上而下分析
    个人vim配置
    第三章 词法分析
    3.7 TCP拥塞控制
    3.6 拥塞控制原理
    3.5 面向连接的运输:TCP
    3.4可靠数据传输的原理
    3.3 无连接运输:UDP
  • 原文地址:https://www.cnblogs.com/mjgb/p/1860270.html
Copyright © 2011-2022 走看看