架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10866|回复: 1

[WinForm] 类似Webbrowser的浏览器控件

[复制链接]
发表于 2016-2-26 15:05:52 | 显示全部楼层 |阅读模式

现在用Webbrowser,放到独立线程里的,加载网页时,程序仍然会变卡,反应迟钝而已,不是无响应,查看cpu占用会飙到30%。
不加载网页时就不卡。

另外使用InvokeMember("Click") 模拟点击部分链接无效,打断点是可以去到正确的HtmlElement,模拟点击却没反应。

不是全部点击无效,有部分按钮或链接失效而已。


有没有办法解决以上问题呢?
如果没有那么请问下有没有占用cpu比较少的第三方控件,支持给文本框赋值,模拟点击,操作滚动条滚动的。

WebKit .NET
webkit-sharp
CefSharp
awesomium
OpenWebKitSharp
geckofx
MozNET Web Component





上一篇:浏览器内核Gecko与WebKit哪个性能更强大
下一篇:WebKit.net异常的解决办法WebKitBrowser.dll
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2016-2-26 15:29:06 | 显示全部楼层
如果就这样那就简单了 ,可偏偏项目使用的网站对IE的兼容性极差(吐槽下:个人觉得是IE太烂了,对标准的支持太差),无奈之下想找寻其他类似的WebBrowser控件,发现几个不错的替换控件:

GeokoFx:一个Firefox的Geoko引擎的Windows Forms包装,google上的下载地址:http://code.google.com/p/geckofx/ 官网:http://www.geckofx.org/
WebKit.NET:webkit的.NET封装,下载地址:http://sourceforge.net/projects/webkitdotnet/

本来决定使用GeokoFx,因为项目使用的网站用火狐打开是很快的,但是我找了几天资料也没发现怎么传递个js对象给控件,当发现Qt的webbroswer控件也是封装的WebKit控件时,遂决定使用WebKit,但WebKit.NET也没有直接提供传递对象的方法,后来发现又一个好东西:

open-webkit-sharp:对webkit.net的又一次封装,提供了很多新功能。google上下载地址:http://code.google.com/p/open-webkit-sharp/
下面的使用就非常简单了,下载open-webkit-sharp后,把Core文件夹和References文件夹下所有文件拷贝到你的工程目录下,然后打开你的项目,添加引用OpenWebKitSharp.dll和WebKit.Interop.dll(如果你的项目运行在.NET Framework 2.0 或 3.5 引用 Binary_NET2文件夹下的这两个文件,NET4.0的话就引用Binary文件夹下的这两个dll);然后就是工具箱->选择项->选择OpenWebKitSharp.dll,然后从工具箱中把WebKitBrowser拖到你的窗体上.现在已经成功了一大步了,但是为了避免使用时遇到各种错误,我们需要先安装两个支持文件:
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 12:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表