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

                }

            }

  • 相关阅读:
    eventbus3-intellij-plugin插件搜不到
    flutter控件之CheckBox
    Java中常见数据结构:list与map -底层如何实现
    flutter控件之RadioButton
    git add Untracked files
    执行git push出现"Everything up-to-date"
    用flutter写一个精美的登录页面
    Android Studio最全插件整理
    Mac下git的环境搭建和基本使用
    上周热点回顾(7.1-7.7)团队
  • 原文地址:https://www.cnblogs.com/mjgb/p/1860270.html
Copyright © 2011-2022 走看看