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);

                }

            }

  • 相关阅读:
    VC 中 C2275问题解决
    MIPS指令学习
    《高效人士的116个IT秘诀》读书笔记
    Mercurial入门学习
    foobar 插件安装
    五笔输入法的学习记录
    AutoHotKey入门使用
    windows shell
    CSPS 2021霜降记
    ubunru下jdk安装
  • 原文地址:https://www.cnblogs.com/mjgb/p/1860270.html
Copyright © 2011-2022 走看看