原文:
CefSharp 在同一窗口打开链接的方法
在winform中使用cefsharp的时候,我们在浏览网页的时候,想在同一个窗口打开链接,而不是创建新的窗口。可以通过下面的方法实现。
CefSharp 中控制弹窗的接口是
ILifeSpanHandler
,可以对 OnBeforePopup 进行重写,即可控制是否弹出新窗体。接口定义如下:
bool
ILifeSpanHandler
.OnBeforePopup(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures, IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser)
要实现禁止弹出新窗体-在同一窗口打开,需要在原窗体加载目标Url,即参数targetUrl,并返回结果true,此时将会取消新窗口的创建,并在原窗口加载链接。具体实现方法体的代码如下:
/// <summary>
/// 在自己窗口打开链接
/// </summary>
internal class OpenPageSelf : ILifeSpanHandler
public bool DoClose(IWebBrowser browserControl, IBrowser browser)
return false;
public void OnAfterCreated(IWebBrowser browserControl, IBrowser browser)
public void OnBeforeClose(IWebBrowser browserControl, IBrowser browser)
public bool OnBeforePopup(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl,
string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures,
IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser)
newBrowser = null;
var chromiumWebBrowser = (ChromiumWebBrowser)browserControl;
chromiumWebBrowser.Load(targetUrl);
return true; //Return true to cancel the popup creation copyright by codebye.com.
在实例化浏览器的时候,指定处理程序
private void MainFrm_Load(object sender, EventArgs e)
this.WindowState = FormWindowState.Maximized;
CefSharp.CefSettings settings = new CefSharp.CefSettings();
CefSharp.Cef.Initialize(settings);
CefSharp.WinForms.ChromiumWebBrowser webView = new CefSharp.WinForms.ChromiumWebBrowser("https://www.baidu.com");
webView.Dock = DockStyle.Fill;
webView.LifeSpanHandler = new OpenPageSelf();
this.Controls.Add(webView);
上面红色部分的代码,是应用我们实现的窗口的打开方式。
http://www.codebye.com/cefsharp-open-in-same-browser.html
软件测试面试题:在一个页面上,点击一个链接之后不会在当前页面上打开此链接而是新开一个窗口打开此页面。
软件测试面试题:在一个页面上,点击一个链接之后不会在当前页面上打开此链接而是新开一个窗口打开此页面。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013564470/article/details/78339957
原文:新版【CefSharp】 禁用右键菜单 43.00+
禁用右键菜单其实是很容易的。主就要是实现一个接口 IMenuHandler ,这个接口有一个 OnBeforeContextMenu 的方法,我们在这里让返回一个false,右键菜单就消失了。
在新窗口打开WordPress文章中的所有链接
在新窗口打开WordPress文章中的链接,有助于提高访客体验,为什么这么说呢?假设你在看文章的过程中,想浏览文章中提到的另一篇文章,但是现在这篇文章你还没有看完,没想到一点击链接,浏览器就切换到了新文章,要看刚才的文章,还得后退,是不是有点烦?
虽然有时候点击鼠标中键(滚轮)可以使链接在新窗口打开,或者某些浏览器支持拖动链接新窗口打开,但是这些并不适用于所有的访客。
如何设置谷歌浏览器在新窗口中打开链接?如何设置谷歌浏览器在新标签页中打开链接?
一、快捷键方式: 1、左键单击 ==》 在当前窗口中打开目标网页。 2、Shift + 左键单击 ==》 在新窗口中打开目标网页。 3、Ctrl + 左键单击 ==》 在新标签页中打开目标网页。 4、鼠标中键点击书签即打开新的标签页,在新的标签页中显示指定的网页。
20464
WordPress文章在新窗口打开所有链接
在新窗口打开WordPress文章中的链接,有助于提高访客体验,为什么这么说呢?假设你在看文章的过程中,想浏览文章中提到的另一篇文章,但是现在这篇文章你还没有看完,没想到一点击链接,浏览器就切换到了新文章,要看刚才的文章,还得后退,是不是有点烦?