.net 内嵌 GeckoWebBrowser (firefox) 核心浏览器
引用nuget包:
注意:Geckofx45 nuget包必须是最后引用,否则初始化会出错

简单示例:
using Gecko;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
GeckoWebBrowser gecko;
public Form1()
{
InitializeComponent(); Xpcom.Initialize("Firefox"); gecko = new GeckoWebBrowser();
gecko.CreateControl(); gecko.NoDefaultContextMenu = true; //禁用右键菜单 gecko.Dock = DockStyle.Fill;
panel1.Controls.Add(gecko);
gecko.ProgressChanged += Gecko_ProgressChanged;
gecko.CreateWindow += Gecko_CreateWindow;
gecko.DocumentCompleted += Gecko_DocumentCompleted;
gecko.Navigate("http://www.baidu.com"); } private void Gecko_DocumentCompleted(object sender, Gecko.Events.GeckoDocumentCompletedEventArgs e)
{
//var executor = new Gecko.JQuery.JQueryExecutor(gecko.Window); //先获取到jquery对象 //executor.ExecuteJQuery("$('#a')"); //然后执行jquery的代码
using (AutoJSContext context = new AutoJSContext(gecko.Window))
{
string result;
context.EvaluateScript("3 + 2;", out result);
context.EvaluateScript("'hello' + ' ' + 'world';", out result);
} progressBar1.Value = ;
} private void Gecko_CreateWindow(object sender, GeckoCreateWindowEventArgs e)
{
e.InitialHeight = ;
e.InitialWidth = ;
} private void Gecko_ProgressChanged(object sender, GeckoProgressEventArgs e)
{
if (e.MaximumProgress == )
return; var value = (int)Math.Min(, (e.CurrentProgress * ) / e.MaximumProgress);
if (value == )
return;
progressBar1.Value = value;
}
}
}
.net 内嵌 GeckoWebBrowser (firefox) 核心浏览器的更多相关文章
- PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购
PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...
- jetty9内嵌到应用,并在启动后加载WebApplicationInitializer,可运行jsp
声明:本文所介绍的两功能都已经测试通过. 第一步先确保你用的是java 8,并依赖需要的相关jar包,以下是用gradle进行依赖的信息: ext { taglibsStandardVersion = ...
- Eclipse内嵌的webservice客户端
概述 Eclipse内嵌的webservice客户端,可用于发起请求,查看结果,展示请求和响应的报文. 详情 在Java EE视图,可以看到内嵌的webservice客户端浏览器登陆按钮 点击打开浏览 ...
- IE内嵌google chrome frame解决浏览器兼容问题
IE内嵌google chrome frame解决浏览器兼容问题 http://www.cnblogs.com/xwdreamer/archive/2013/12/17/3477776.html 参 ...
- 【转】IE内嵌google chrome frame解决浏览器兼容问题
参考文献: http://www.pseudowired.com/2012/12/04/tomcat-http-header-manipulation/(html中自动添加使用chrome的heade ...
- Atitit java集成内嵌浏览器与外嵌浏览器attilax总结
Atitit java集成内嵌浏览器与外嵌浏览器attilax总结 HTML5将颠覆原生App世界.这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟 ...
- 微信内嵌浏览器sessionid丢失问题,nginx ip_hash将所有请求转发到一台机器
现象微信中打开网页,图形验证码填写后,经常提示错误,即使填写正确也会提示错误,并且是间歇性出现. 系统前期,用户使用主要集中在pc浏览器中,一直没有出现这样的问题.近期有部分用户是在微信中访问的,才出 ...
- 【整理总结】代码沉淀 - CefSharp - 比较流行的第三方内嵌浏览器组件
.NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework web: https://github.com/ce ...
- LODOP内嵌挡住浏览器的div弹出层
首先,做一个简单的div弹出层用于测试,该弹出层的介绍可查看本博客另一篇博文:[JS新手教程]浏览器弹出div层 然后加入LODOP内嵌,LODOP可以内嵌,C-LODOP不能内嵌,可以在IE等浏览器 ...
随机推荐
- TreeView获取目录下的所有文件
/// <summary> /// TreeView获取目录下的所有文件 /// </summary> /// <param name="tree"& ...
- Linux经常使用命令-文件搜索命令-文件搜索命令find
命令名称:find 命令所在路径:/bin/find 语法:find [搜索范围] [匹配条件] 功能描写叙述:文件搜索 演示样例 find /etc - name init 在文件夹/etc 中查找 ...
- leetcode_Product of Array Except Self
描写叙述: Given an array of n integers where n > 1, nums, return an array output such that output[i] ...
- android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode
转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50749728 本文出自:[lxk_1993的博客]: 首先还是先介绍下Activity ...
- Android面试题1
1.Android中intent的是? 答:实现界面间的切换,能够包括动作和动作数据.连接四大组件的纽带. 2.SAX解析xml文件的长处的是? 答:不用事先调入整个文档,占用资源少 3.在andro ...
- Js跨一级域名同步cookie
1. 纯Js同步两个域名下的cookie document.cookie = "name=" + "value;" + "expires=" ...
- LeetCode 557. Reverse Words in a String III (反转字符串中的单词 III)
Given a string, you need to reverse the order of characters in each word within a sentence while sti ...
- 三种常见的编码:ASCII码、UTF-8编码、Unicode编码等字符占领的字节数
ASCII码: 一个英文字母(不分大写和小写)占一个字节的空间.一个中文汉字占两个字节的空间. 一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制. 最小值0,最大值25 ...
- 理解和解决requireJS的报错:MODULE NAME HAS NOT BEEN LOADED YET FOR CONTEXT
使用requireJS载入模块的时候.有时候会碰到例如以下的错误: Uncaught Error: Module name "module1" has not been loade ...
- 如何利用UDP协议封装一个数据包
在如何封装一个数据包上,是一个非常细致的问题,而利用UDP协议来封装的话,是比较简单,让我们一步步来分析典型的TCP/IP协议.一般来说一个典型的一个数据包,包括以太网MAC头+网络层IP数据头+传输 ...