一.前言 上一篇文章 基于CefSharp开发(七)浏览器收藏夹菜单 简单实现了部分收藏夹功能 如(添加文件夹.添加收藏.删除.右键菜单部分功能) 后续代码中对MTreeViewItem进行了扩展,增加了TextBox用于编辑Item及相应的依赖属性,实现了重命名操作. 浏览器除了有收藏夹菜单,还需要有收藏夹栏用于快捷访问,本章将开发简易的收藏夹栏. 二.收藏夹栏分析 如下面两幅图所示,前者为收藏夹菜单样式,后者为收藏夹栏样式,两者数据结构相同,只是展示形式略有差异.故可采用同一数据结构 观其展…
mac 下基于firebreath 开发多浏览器支持的浏览器插件 首先要区分什么是浏览器扩展和浏览器插件;插件可以像本地程序一样做的更多 一. 关于 firebreath http://www.firebreath.org firebreath 是一个夸平台,夸浏览器的,开发浏览器插件框架: 利用firebreath开发的浏览器插件,可以在多浏览器上安装:并且提供多种平台下的解决方案比如mac,windows 二. 关于mac 使用 firebreath 开发浏览器插件 官方教程 http://…
上一篇 https://www.cnblogs.com/mchao/p/13914726.html 简单了解了CefSharp引用配置但页面光秃秃的,这一篇着手开发简单浏览器窗体 一.Edge浏览器窗体分析 如上图所示可先将浏览器窗体分为两大部分,Header及Body部分,Header暂时分为Tab展示及搜索部分 每个Tab页有一个搜索及ChromiumWebBrowser 此时我们需要一个带关闭按钮的TabControl 二.自定义TabControl 修改TabItem ControlTe…
一.上文回顾 上编实现了简单的网页加载功能包括URL输入.打开空标签页.网页链接中新页面处理等 本编将对网页的Title绑定.前进.后退.刷新等事件处理 二.Title绑定处理 当打开网页时Title一直是新标签页,而Edge浏览器中是动态变化的,因此我们需要建立起绑定机制,那么如何取网页Title? 查看ChromiumWebBrowser 类定义 public static readonly DependencyProperty TitleProperty; 发现其有Title的依赖属性,并…
一.菜单分析 上图为Edge浏览器现有的菜单内容,菜单中即有子菜单也有组合菜单. 本章节将开发浏览器菜单样式,菜单部分功能将后期进行处理. 二.创建菜单用户控件 新建用户控件命名为WebMenuUc,Grid添加如下代码 <controls:MMenu> <controls:MMenuItem Header=". . ." Width="40" Height="30"> <controls:MMenuItem Hea…
一.CefSharp文件下载分析 查看ChromiumWebBrowser类发现cef数据下载处理在IDownloadHandler中进行,但并未找到相应的实现类,故我们需要自己实现DownloadHandler 创建CustomDownloadHandler类并实现IDownloadHandler接口 public class CustomDownloadHandler : IDownloadHandler { public void OnBeforeDownload(IWebBrowser…
一.Edge收藏夹菜单分析 如下图所示为Edge收藏夹菜单, 点击收藏夹菜单按钮(红框部分)弹出收藏夹菜单窗体,窗体中包含工具栏(绿框部分)和树型菜单(黄框部分) 工具栏按钮功能分别为添加当前网页到根节点.创建新文件夹到根节点.搜索收藏夹内容.单中单(收藏夹菜单中的其他功能).收藏夹菜单固定到右侧 在树节点上右键,有如下右键菜单功能 要完成此功能,需先仿其形,再谋其神. 二.仿其形 这里所谓的仿其形,即模仿它的样式(Style) 1.创建收藏夹菜单UserControl 创建FavoritesM…
一.前言 前两篇文章写的是关于浏览器收藏夹的内容,因为收藏夹的内容不会太多,故采用json格式的文本文件作为收藏夹的存储方式. 关于浏览器历史记录,我个人每天大概会打开百来次网页甚至更多,时间越长历史记录会越多多.此时使用json存储一旦数据量加大,势必会影响效率. 故需要选择一个新的存储方式.展开思考:Edge是用什么存储的呢? 二.探究Edge历史记录存储方式 经过几番查找终于找到Edge数据存储位置:C:\Users\用户\AppData\Local\Microsoft\Edge\User…
一.网页缩放分析 缩放入口 1.Ctrl + 鼠标滑轮缩放 2.菜单中缩放子菜单缩放 3.搜索框中网页缩放按钮缩放 缩放属性及命令 ChromiumWebBrowser 提供了缩放量值.缩放级别.放大/缩小/重置命令等,如下图 二.鼠标滑轮缩放 简单缩放实现 要实现缩放,首先需捕获鼠标滚动事件,在初始化WebBrowser方法中增加 this.CefWebBrowser.PreviewMouseWheel += CefWebBrowser_PreviewMouseWheel; 并实现CefWeb…
技术:vc++2015   概述 用于需要制作一个浏览器 winfrom 中浏览器的插件有很多种 如:WebBrowser , Web.kit等 但用于比较稳定 功能齐全的还是cefsharp 详细 代码下载:http://www.demodashi.com/demo/14816.html 一.前言 使用cefSharp制作浏览器主要是一些页面无法通过自己的接口去控制,又不可能通过第三方去解决的时候,只能通过自己做的浏览器去分析界面,然后给出响应. 例如: xx的网页客服 目前具有各种缺陷无法发…