标签: microsoft.mshtml

在IE中挂钩http/https协议会导致GET请求顺序

我正在使用PassthruAPP方法挂钩IE所做的HTTP/HTTPS请求.

它在大多数情况下都运行良好,但我注意到了一个问题.一次只有一个下载线程是活动的,通常IE使用两个下载线程.我可以看到两个IInternetProtocol对象被创建,但IE一次只使用一个.

IE7正在发生这种情况,我还没有尝试过其他版本.

问题似乎是当IE IInternetSession::RegisterNameSpace被调用任何默认处理程序时,IE会一次回退一个项目.即使我正在注册HTTPS处理程序,下面的代码也会导致HTTP下载顺序.注册'file://'会导致同样的问题.

CComPtr<IInternetSession> spSession;
CoInternetGetSession(0, &spSession, 0);

MetaFactory::CreateInstance(CLSID_HttpSProtocol, &m_spCFHTTPS);
spSession->RegisterNameSpace(m_spCFHTTPS, CLSID_NULL, L"https", 0, 0, 0)
Run Code Online (Sandbox Code Playgroud)

这总是发生在页面上的前几个项目中,但似乎在发布文档完成后,可以再次发生并发下载.例如,在页面加载完成后执行的Javascript代码可以同时加载图像.

com internet-explorer microsoft.mshtml http iwebbrowser2

5
推荐指数
1
解决办法
2951
查看次数

mshtml.dll版本为8.0,Microsoft.mshtml为7.0

我有点困惑,也许你可以帮助我.

我有mshtml.dll(版本8.0)和Microsoft.mshtml.dll(版本7.0)

如果我去添加对我的WPF项目的引用并尝试添加mshtml.dll,它会告诉我引用必须是有效的程序集或com组件.这是正确的,因为我知道我必须添加对Microsoft.mshtml.dll的引用,因为它是mshtml.dll的包装器,我是对的吗?

现在,我的mshtml.dll版本是8.0,Microsoft.mshtml是7.0.

我在哪里可以找到8.0版本的Microsoft.mshtml.dll?

如果我添加了Microsoft.mshtml.dll的7.0,它将运行mshtml 8 dll的功能?

他们为什么不同?

非常感谢Jayson

mshtml microsoft.mshtml

5
推荐指数
1
解决办法
1397
查看次数

mshtml.HTMLDocument如何使用class属性隐藏动态创建的div

我试图在C#WebBrowser控件(WPF而不是WinForm)中加载一个网页.与其他内容一起,页面具有图像旋转器,其动态地创建具有相同类的两个div以利用旋转的图像.在LoadComplete eventWebBrowser控件中,我附加了一个样式表来隐藏两个div.动态加载页面的两个div是:

<div class="backgroundImageDivsClass" style="
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px; 
    left: 0px;
    padding: 0px;
    margin: 0px;
    z-index: -9999;
    opacity: 1;
    background-image: url("data/767/Course/9214/1000000001_474030834.jpg"); 
    background-position: left top;
    background-size: 100% 100%;
    background-repeat: no-repeat;
"></div>
<div class="backgroundImageDivsClass"></div>
Run Code Online (Sandbox Code Playgroud)

并且在webbrowser控件的LoadComplete事件中分配css的方式是:

mshtml.IHTMLStyleSheet styleSheet = Document.createStyleSheet(string.Empty, 0);
styleSheet.cssText = @".backgroundImageDivsClass{display:none;}";
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用,因为它没有隐藏div.有人请告诉我一些我缺少的东西.

css c# mshtml microsoft.mshtml

5
推荐指数
1
解决办法
876
查看次数

为什么MSHTML for .Net没有querySelector和querySelectorAll,或者它们在哪里?

我想使用MSHTML [1]来访问IE中的DOM,但我刚刚发现它缺少HTML文档类中的querySelector和querySelectorAll方法,否则将非常有助于通过CSS选择器获取文档中的元素.

我现在能想到的唯一解决方法是通过执行脚本来完成所有操作,但这很糟糕.

是否有任何MSHTML版本有两个方法(querySelector和querySelectorAll)?是否有其他库(希望是Microsoft的官方.Net库),其中有两种方法或它们的等价物?

[1]%ProgramFiles(x86)%\ Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll

.net c# microsoft.mshtml

4
推荐指数
1
解决办法
1262
查看次数

标签 统计

microsoft.mshtml ×4

c# ×2

mshtml ×2

.net ×1

com ×1

css ×1

http ×1

internet-explorer ×1

iwebbrowser2 ×1