我在我的项目中使用cefSharp webBrowser。 我一直在寻找如何控制cefSharp webBrowser中的滚动点。 但是我找不到有关cefSharp webBrowser的一些信息。
使用C#winForm默认的webBrowser,它的控件类似于
webBrowser1.Document.Window.ScrollTo(100,100);
我的cefSharp webBrowser应该如何处理与代码相同
这是我的代码
using CefSharp.WinForms;
using CefSharp;
using Microsoft.Win32;
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 WinForm_WebBrowser_Version_Change
{
public partial class Form1 : Form
{
ChromiumWebBrowser browser;
public Form1()
{
InitializeComponent();
InitBrowser();
}
public void InitBrowser()
{
Cef.Initialize(new CefSettings());
browser = new ChromiumWebBrowser("mir.com");
this.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
}
}
}
答案 0 :(得分:0)
CEF Sharp浏览器的功能与Microsoft内置Web表单浏览器中的常规功能不同。
代码行:
webBrowser1.Document.Window.ScrollTo(100,100);
您提供的不能在CEF尖锐的浏览器实例上使用,因为它没有“文档”属性。
此外,CEF Sharp浏览器不会在其任何接口上公开任何属性,从而使您可以像Microsoft一样,直接向下钻取JavaScript API。
相反,您需要做的是在正在加载的页面内注册一个JavaScript函数,以执行所需的滚动操作,然后您需要使用CEF Sharp的各种JavaScript调用函数之一从C#调用该函数。提供。
您在C#中使用哪种类型的调用来调用Java脚本,这完全取决于您何时调用它以及如何调用,您可以在CEF Sharp Wiki中找到有关以下不同方法的更多信息:https://github.com/cefsharp/CefSharp/wiki/JavaScript-Binding-API
通常,CEF Sharp Wiki是开始阅读文档的好地方,它涵盖了您需要在C#应用程序中使用CEF Sharp的所有知识:
https://github.com/cefsharp/CefSharp/wiki
写下此答案后更新: 我刚刚在该问题下的第二条注释中注意到了另一个堆栈溢出问题的链接,该链接几乎显示了我上面总结的一种方法。