.net程序包含webbrowser插件时遇到的各种问题

本文探讨了.net WebBrowser控件及ActiveX AxWebBrowser控件的特点与限制,包括对右键菜单、滚动条及弹出窗口的支持差异,以及如何解决用户在使用过程中遇到的问题,如事件无法触发等。此外,还提供了如何处理多frame页面加载完成事件的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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一个

转载于:https://www.cnblogs.com/doomsword/p/3392771.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值