Tag: webbrowser control

从WebBrowser控件在横向模式下打印?

System.Windows.Forms.WebBrowser wb = new System.Windows.Forms.WebBrowser(); wb.DocumentStream = new FileStream(“C:\a.html”, FileMode.Open, FileAccess.Read); while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } wb.Print(); 我知道如何从PrinterDocument对象设置页面方向,但不知道如何从WebBrowser对象设置页面方向。 有什么办法吗? 谢谢!

WebClient下载字符串与WebBrowser View源不同

我正在创建一个C#4.0应用程序来使用Web客户端下载网页内容。 WebClientfunction public static string GetDocText(string url) { string html = string.Empty; try { using (ConfigurableWebClient client = new ConfigurableWebClient()) { /* Set timeout for webclient */ client.Timeout = 600000; /* Build url */ Uri innUri = null; if (!url.StartsWith(“http://”)) url = “http://” + url; Uri.TryCreate(url, UriKind.RelativeOrAbsolute, out innUri); try { client.Headers.Add(“User-Agent”, “Mozilla/4.0 (compatible; MSIE […]

从IE中的HtmlElement的Dom获取IHTMLStyle3

我在表单上有一个System.Windows.Form.WebBrowser控件。 我将该浏览器对象导航到url。 页面加载完成后,我想分析加载页面的各个方面。 特别是我有兴趣看到在IHTMLStyle3接口上找到的属性’writingMode’。 就像是: public void MyMethod(HtmlElement element) { IHTMLElement2 element2 = element.DomElement as IHTMLElement2; IHTMLStyle3 style3 = element2.currentStyle as IHTMLStyle3; string writingMode = style3.writingMode; … 问题是,style3值为null。 我认为这意味着IHTMLElement2.currentStyle不支持IHTMLStyle3。 我也试过尝试过铸造IHTMLELement.style。 但是,虽然它确实很快就像IHTMLStyle3一样,它似乎并没有包含样式,因为它已应用于Html元素。

WPF WebBrowser最近的页面

只是想知道是否有办法访问WPF WebBrowser中访问过的最近页面。 它显然跟踪页面,Go [Forward / Back]functioncertificate了这一点。 我打算建立一个数据库来跟踪它,但如果这样做没有意义,我不想做额外的工作。 我猜这些细节是故意隐藏给用户的。

可以处理HTTPS的WebBrowser控件

我正在寻找.NET中可以处理HTTPS的WebBrowser控件的替代品。 此问题在Stack Overflow上类似,但这些控件都不提供HTTPS。 顺便提一下,我尝试了所有这些 GeckoFx – 开发停止了 Se7en – 这实际上是继续GeckoFx Webkitdotnet – 没有人在论坛上回复 但它们都不支持HTTPS,所以我有点卡在这里:/。 另外,提到.NET框架附带的WebBrowser控件可以很好地使用HTTPS,但我无法使用它的原因是因为我的应用程序使用了很多 IE拒绝呈现的javascript,例如Firefox(壁虎引擎) )或Chrome(webkit)工作正常。 所以,如果有人知道可以做到这一点的良好控件(可以是Webkit或Gecko包装器,它不介意,只要它不是IE包装器)。 谢谢!

如何在无头unit testing中运行时使WebBrowser完成导航?

我们有一个WPF应用程序,它在控件中加载一些内容,然后根据加载的内容进行一些调用。 使用正确的模拟,我们认为我们可以在无显示unit testing(在这种情况下为NUnit)内测试。 但是WebBrowser控件不想玩得很好。 问题是我们从未收到LoadCompleted或Navigated事件。 显然这是因为在实际呈现之前,网页永远不会“加载” (请参阅此MSDN线程) 。 我们确实收到了Navigating活动,但这对我们来说太早了。 那么有没有办法使WebBrowser控件“完全”工作,即使它没有输出显示? 以下是测试用例的简化版本: [TestFixture, RequiresSTA] class TestIsoView { [Test] public void PageLoadsAtAll() { Console.WriteLine(“I’m a lumberjack and I’m OK”); WebBrowser wb = new WebBrowser(); // An AutoResetEvent allows us to synchronously wait for an event to occur. AutoResetEvent autoResetEvent = new AutoResetEvent(false); //wb.LoadCompleted += delegate // LoadCompleted […]

WebBrowser控件不会从C#打印

我在WinForms应用程序上有一个WebBrowser控件,它正在加载转换为HTML / CSS的XML。 如果我只想在那里或在常规浏览器中查看它,看起来很漂亮。 当表单加载时,它应该导航到该文件,然后当OnDocumentCompleted事件触发时,它应该在注册表中设置页眉,页脚和默认打印机名称,然后为用户指定的许多副本调用Print()。 我通过调试器运行它,它在OnDocumentCompleted事件中调用webBrowser.Print()正确的次数。 没有什么是null,不应该是,WebBrowser控件上的Visible是真的,就像AllowNavigation一样。 是的,打印机已打开并可通过网络访问。 完全相同的代码在项目的其他地方工作,但不在这里。 还有什么可能导致这种地狱般的控制忽略我的打印命令? 理想情况下,我希望将整个内容隐藏在屏幕外,因为这意味着要使用Windows Scheduler运行,用户永远不应该看到它。 我已经读过控件需要可见,所以在我解决这个第一个问题之前,可以等待。 编辑 :我的OnDocumentCompleted事件处理程序的最后两行将DialogResult设置为OK并关闭表单。 删除对Close()的调用让它打印,所以我猜它在关闭窗体并处理WebBrowser控件之前没有进入打印后台处理程序。 只是在关闭之前设置一个等待的任意时间限制,有没有办法告诉它何时完成打印?

检测WebBrowser控件上的滚动

我有以下代码,奇怪的是,它工作了几秒钟然后停止工作(我的事件处理程序方法停止被调用): public partial class Form1 : Form { private void Form1_Load(object sender, EventArgs e) { webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted); webBrowser1.Navigate(“google.com”); } private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (!webBrowser1.IsBusy && webBrowser1.Url == e.Url && webBrowser1.ReadyState == WebBrowserReadyState.Complete) { HTMLWindowEvents_Event windowEvents = webBrowser1.Document.Window.DomWindow as HTMLWindowEvents_Event; windowEvents.onscroll += new HTMLWindowEvents_onscrollEventHandler(windowEvents_onscroll); } } private void windowEvents_onscroll() { […]

如何在webBrowser控件中自动启用ActiveX元素

我的WPF应用程序中有一个WebBrowser控件,当我现在加载一个显示.swf文件的本地.html文件时,它可以工作,但只有在我接受ActiveX-Warning之后。 是否可以更改WebBrowser控件的选项以自动启用ActiveX元素,如flash文件?

可以在WinForms应用程序中使用CKEditor进行(X)HTML编辑吗?

我已经将winforms html编辑器的代码改编为C#(见下文)。 是否可以使用CKEditor? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WebEditorTest { /// /// https://stackoverflow.com/questions/214124/winforms-html-editor /// public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { webBrowser1.Navigate(“about:blank”); Application.DoEvents(); webBrowser1.Document.OpenNew(false).Write(“Edit this text”); foreach (HtmlElement el in webBrowser1.Document.All) […]