惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
G
Google Developers Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
有赞技术团队
有赞技术团队
Vercel News
Vercel News
MongoDB | Blog
MongoDB | Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
I
InfoQ
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
The Cloudflare Blog
B
Blog
C
Check Point Blog
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
U
Unit 42
D
Docker
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏
博客园 - Franky
A
About on SuperTechFans

博客园 - 心雨无痕

升级openssl和openssh linux配置LVM 杂七杂八 mysql连接远程服务器很慢的解决方法 centos安装php需要注意的问题 centos配置nfs杂七杂八 iptables配置网络端口转发 桥接模式 适配器模式 单例模式 原型模式 工厂方法模式 简单工厂模式 建造者模式 ActionScript中Object和Dictionary的区别 FlashBuilder4.5破解方法 抽象工厂模式 设计模式浅见 了解下常见的开源协议
.net程序包含webbrowser插件时遇到的各种问题
心雨无痕 · 2013-10-28 · via 博客园 - 心雨无痕

1. .net封装好的webbrowser对右键菜单/滚动条的支持比较好, 但是对用js弹出窗口的支持就很有问题, js弹出窗口不会发布NewWindow事件; 而activex控件的axwebbrowser则恰好相反, 它对右键菜单和滚动条的操作都需要通过js来操作, 相对比较繁琐, 但是NewWindow3事件对弹窗窗口事件支持很好

2. 如果发布程序后发现用户无法获取到webbrowser控件的各种事件, 那么一般是因为客户的电脑中没有Microsoft.mshtml.dll这个库, 这时候就需要将这个库同步发布到程序目录。这个文件一般位于C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies, 如果这个目录没有的话,可以尝试在C:\WINDOWS\Microsoft.NET\Framework\v{你的.net版本}目录下运行RegAsm.exe,注册C:\WINDOWS\system32\mshtml.dll(此库为win32库,.net无法直接使用)组件,注册后,Primary Interop Assemblies目录中便出现了该dll。

3. 在某些网站, 会发现无法获取到DocumentComplete事件, 这时就需要判断Webbrowser.ReadyState是否是Completed(只能用Timer定时检测了).

4. 在多frame的页面, 会有多次的DocumentComplete事件, 每个frame一个