zoukankan      html  css  js  c++  java
  • 黄聪:在.NET中使用GeckoFX 29

    GeckoFX is a .NET control, that works similarly to “System.Windows.Forms.WebBrowser” Control, while being cross platform, and offering much more control, it is in my opinion, a great replacement for the “System.Windows.Forms.WebBrowser”.

    GeckoFX is based on the same engine as Firefox, the Mozilla Gecko.

    This is an example on how to use it in Visual Studio.

    This is a great replacement for Forms.WebBrowser control.

    To get this working, you need to first download the GeckoFX from here:

    https://bitbucket.org/geckofx/

    During the writing of this, the last available version was the “GeckoFX-29.0”, so I downloaded that from here, if while you download this found a newer version, which is very likely, be careful to what XUL version you download on the next step:

    https://bitbucket.org/geckofx/geckofx-29.0/downloads

    and last revision:

    https://bitbucket.org/geckofx/geckofx-29.0/downloads/GeckoFx-Windows-29.0-0.11.zip

    After that, you need to download the XULRunner runtime from Mozilla website, it is very important that you download a version from here that matches the same version as the GeckoFX version.

    Here is a version list that will help you know what XULRunner version you need:

    https://bitbucket.org/geckofx/geckofx/wiki/Version_lists

    And download from:
    http://ftp.mozilla.org/pub/mozilla.org/xulrunner/

    In my case, I downloaded version “29.0” from:
    http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/29.0/runtimes/xulrunner-29.0.en-US.win32.zip

    Extract the contents of the archive in the same folder as the executable, the same folder that has the WindowsFormsApplication1.exe, if you choose to extract to a different folder, be sure to modify the code to point to the new folder.

    After that, start Visual studio, create a new C# Windows form project, and add refrences to both “Geckofx-Winforms.dll”, and “Geckofx-Core.dll” in the project refrences.

    You may also need to add those line to the top of the file:

    using Gecko;
    using System.IO;
    using System.Linq;
    using System.Reflection;

    And in the form constructor, you need to add some code to initiate the GeckoFX control, this code will be added after the “InitializeComponent()” function call, like this:

        GeckoWebBrowser browser;
        public Form1()
        {
            InitializeComponent();
     
            var app_dir = Path.GetDirectoryName(Application.ExecutablePath);
            Gecko.Xpcom.Initialize(Path.Combine(app_dir, "xulrunner"));
     
            browser = new GeckoWebBrowser();
     
            browser.Dock = DockStyle.Fill;
            this.browser.Name = "browser";
     
            this.Controls.Add(browser);
        }

    And add this one line to the form load event handler:

        private void Form1_Load(object sender, EventArgs e)
        {
            browser.Navigate("http://www.wikipedia.org");
        }

    Important Problem: you need to go to your project properties, and in the ‘build’ tab, change the platform target to x86 for (all configurations), instead of “Any CPU”.

    Before running the application for the first time, do not forget that you need to extract the xulrunner in the “inDebug” or “inRelease” folder.

    This is the result:

    GeckoFX-01

  • 相关阅读:
    HTML DOM Document 对象
    浏览器对象模型 BOM
    JavaScript数组和字符串基础
    JavaScript基础一
    css属性hack
    浏览器兼容性问题
    css常见居中方法
    初析BFC
    学习Css的初级篇
    THML基础学习
  • 原文地址:https://www.cnblogs.com/huangcong/p/8177740.html
Copyright © 2011-2022 走看看