Tag: webbrowser control

在WinForms桌面应用程序中使用jQuery?

我们有一个WinForms桌面应用程序,它非常广泛地使用.NET 2.0框架WebBrowser控件来显示HTML。 HTML可能很简单,也可能很复杂。 它可以驻留在磁盘上,也可以在运行时直接写入文档属性。 我想知道是否有人有任何使用jQuery作为此类桌面应用程序库的经验。 我可以在磁盘上引用jquery.js文件,并使用它就像它是一个Web应用程序一样吗? 我需要注意哪些陷阱?

将Firefox嵌入到.NET控件中

我是c#和.net编程的初学者,我想知道我是否可以使用Mozilla Firefox作为webBrowser控件的实例浏览器,因为默认情况下webBrowser控件使用Internet Explorer。

想要在嵌入标准C#App的WebBrowser控件中启用BHO

我有一个标准的winforms C#app,它上面拖着一个webbrowser控件。 我们还有一个C ++ BHO,当它在IE7或IE8中运行时,我们通常通过COM进行交互。 我没有看到任何方法告诉webbrowser控件加载BHO。 BHO不显示任何GUI或任何内容,它只是在从IE使用时侦听http流量。 任何帮助将不胜感激。 谢谢。

什么是WPF WebBrowser控件的一个很好的替代品?

我有一个MDI WPF应用程序,我需要添加Web内容。 首先,看起来我有2个选项内置到Frame控件和WebBrowser控件的框架中。 鉴于这是一个MDI应用程序,它不需要很长时间才能发现这些都不会起作用。 WPF WebBrowser控件包装使用Win32图形管道的IE WebBrowser ActiveX控件 。 “ 空域 ”问题几乎总结为“抱歉,布局不会很好地结合在一起”。 是的,我已经考虑过拍摄这些内容的快照,并将鼠标和键盘事件映射回浏览器控件,但我承担不起性能损失,我真的没有时间编写并彻底测试它。 我已经找了第三方控件,但到目前为止我只找到了Chris Cavanagh的 WPF Chromium Web Browser控件。 其中包含了Awesomium 1.5 。 这些非常酷,它们与WPF布局相得益彰。 但它们不符合我的性能要求。 它们在内存消耗方面非常重,而且对CPU使用率也不友好。 更不用说还有很多车。 如果你有兴趣,我会详细说明。 那么,你们中任何人都知道一个稳定的高性能WPF Web浏览器控件吗? 谢谢。

捕获和处理Web浏览器关闭事件

我正在使用Windows窗体和WebBrowser控件,我需要捕获和处理WebBrowser控件调用关闭。 我已经看了这个,但它不能正常工作,因为我需要它: http : //blogs.artinsoft.net/Mrojas/archive/2009/05/21/Extended-WebBrowser-Control-Series-WebBrowser-Control-and- windowClose()。ASPX 这是我收到的消息: ————————— Web Browser ————————— The webpage you are viewing is trying to close the window. Do you want to close this window? ————————— Yes No ————————— 我需要捕获此事件并禁止它,然后执行一个函数。 有谁知道一个简单的方法来做到这一点?

删除webBrowser中的cookie而不重启

你能说我如何删除private System.Windows.Forms.WebBrowser webBrowser1所有cookie。 我用了 [DllImport(“wininet.dll”, SetLastError = true)] private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength); 我想用按钮点击这样做。 private void button1_Click(object sender, EventArgs e) { InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0); } 但它不起作用。 我知道webBrowser1.Navigate(“javascript:void((function(){var a,b,c,e,f;f=0;a=document.cookie.split(‘; ‘);for(e=0;e<a.length&&a[e];e++){f++;for(b='.'+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,'')){for(c=location.pathname;c;c=c.replace(/.$/,'')){document.cookie=(a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString());}}}})())"); 它不适合我。

MultiThreading WebBrowser控件C#STA

我想制作3个线程,每个线程运行WebBroswer控件。 所以我想使用ThreadPool让事情变得简单。 for(int i = 0;i < 3;i++) { ThreadPool.QueueUserWorkItem(new WaitCallback(gotoWork), i)); } WaitAll(waitHandles); …… / void gotoWork(object o) { string url = String.Empty; int num = (int)o; switch(num) { case 0: url = “google.com”; break; case 1: url = “yahoo.com”; break; case 2: url = “bing.com”; break; } WebBrowser w = new WebBrower(); w.Navigate(url); […]

c#webbrowser控件不会导航到另一个页面

我有一个控制台应用程序,我已经在其中定义了一个webbrowser。 首先,我导航到一个页面并填写登录表单并调用提交按钮进行登录。 之后,我想使用相同的webbrowser转到同一站点中的另一个页面,但它不会导航到该页面。 相反,它导航到登录后重定向的页面。 这是我的澄清代码; 这段代码给了我www.websiteiwanttogo.com/default.aspx的源代码而不是product.aspx这里有什么问题? static WebBrowser wb = new WebBrowser(); [STAThread] static void Main(string[] args) { wb.AllowNavigation = true; wb.Navigate(“https://www.thewebsiteiwanttogo.com/login.aspx”); wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted); Application.Run(); } static void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (wb.Url.ToString().IndexOf(“login.aspx”) > -1) { wb.Document.GetElementById(“txtnumber”).SetAttribute(“value”, “000001”); wb.Document.GetElementById(“txtUserName”).SetAttribute(“value”, “myusername”); wb.Document.GetElementById(“txtPassword”).SetAttribute(“value”, “mypassword”); wb.Document.GetElementById(“btnLogin”).InvokeMember(“click”); } else { //wb.Document.Body you are logged in […]

在C#中使用WebBrowser控件提交网页表单

我已经在SO和网络上看到了很多关于这个特定主题的post,大多数(如果不是全部)代码如下所示 private void btnSubmit_Click(object sender, RoutedEventArgs e) { webBrowser1.Navigate(new Uri(“http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/onsubmit.htm”)); } private void btnLogin_Click(object sender, RoutedEventArgs e) { mshtml.HTMLDocument htmlDoc = null; htmlDoc = (mshtml.HTMLDocument) this.webBrowser1.Document; if (webBrowser1.Document != null) { foreach (mshtml.HTMLFormElement form in htmlDoc.forms) { form.submit(); break; } } } 代码没有任何错误,但对于生命它没有提交。 我正在使用的示例页面有简单的按钮,它做什么,它提醒选择单选按钮,然后提交表单。 由于某些奇怪的原因,当使用WebBrowser控件通过代码提交表单时,表单已提交,但警报从未显示。 我不确定我在这里做错了什么。 任何有关这方面的帮助将不胜感激。

使用C#以编程方式删除HtmlElement对象

在WebBrowser控件中,如何删除HtmlElement对象? HtmlElement类中没有方法可以实现此目的。 作为一种解决方法,我可以创建一个“虚拟” HtmlElement (不将其插入到HtmlDocument ),然后我将其插入(通过AppendChild )要删除的HtmlElement对象。 这感觉就像一个黑客。 有一个更好的方法吗? PS我想在内存中保留HtmlElement以便以后使用,而不是简单地将其破坏(这是将其父内部的innerHtml设置为空字符串会做什么)