.NET下WebBrowser的一个BUG以及其替代品——geckofx

来源:互联网 发布:最好的下载软件 编辑:程序博客网 时间:2024/05/17 01:43

转自:http://blog.csdn.net/rcfalcon/article/details/5629012 码农成长日记

今天研究一个小问题,在C#的WebBrowser下打开奇艺网的视频,经常整个FLASH就偏了,进度条控制条什么的都没有。

要全屏一下然后还原才能解决这个问题。

 

如下,图1为webbrowser打开,图2为IE8打开。webbrowser中整个偏了,并且没有控制条。

 

 

然后试了一下用各种基于微软Webbrowser控件的浏览器都有该问题。。用VS2010 建winform,WPF,silverlight用webbrowser全都有该问题……

 

然后我打开LINUX试了一下firefox,没有该BUG。

 

于是我想,是不是有可以用于.NET下的firefox控件。搜了一下,有个基于.NET平台开源的gecko引擎组件

—— geckofx

 

然后DOWN一堆东西,(它运行还需要flash for windows firefox插件及xulrunner)

 

写了个小工程测了一下,哇,果然解决该问题了!

 

它的方法也基本是仿照.NET webbrowser写的,所以不会感到陌生。

 

极力推荐该组件——geckofx

 

附:简单使用示例代码。

 

 

[c-sharp] view plaincopy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Linq;  
  7. using System.Text;  
  8. using System.Windows.Forms;  
  9.   
  10. using Skybound.Gecko;  
  11.   
  12. namespace geckofxBrowswer  
  13. {  
  14.     public partial class Form1 : Form  
  15.     {  
  16.         static private string xulrunnerPath = "C://xulrunner/";  
  17.         static private string testUrl = "http://www.qiyi.com/dianying/20100521/n14202.html";  
  18.   
  19.         private GeckoWebBrowser Browser;  
  20.         public Form1()  
  21.         {  
  22.             InitializeComponent();  
  23.   
  24.             Skybound.Gecko.Xpcom.Initialize(xulrunnerPath);  
  25.   
  26.             Browser = new GeckoWebBrowser();  
  27.             Browser.Parent = this;  
  28.             Browser.Dock = DockStyle.Fill;   
  29.         }  
  30.   
  31.         private void button1_Click(object sender, EventArgs e)  
  32.         {  
  33.             Browser.Navigate(testUrl);  
  34.         }  
  35.   
  36.         private void button2_Click(object sender, EventArgs e)  
  37.         {  
  38.               
  39.         }  
  40.     }  
  41. }  

 

 附:

 

项目开源地址:http://code.google.com/p/geckofx/

flash插件下载地址: http://get.adobe.com/flashplayer/otherversions/

XULrunner下载地址: ftp://ftp.mozilla.org/pub/xulrunner/releases/1.9.0.0/runtimes/xulrunner-1.9.en-US.win32.zip

原创粉丝点击