问题标签 [webbrowser-control]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
18 回答
44519 浏览

c# - 如何修复 IE WebBrowser 控件中的内存泄漏?

我正在尝试在 C# Winform 应用程序中嵌入 WebBrowser 控件。这听起来很容易。但是我发现每次调用 Navigate 方法时,WebBrowser 控件都会占用大量内存。内存永远不会被释放。内存使用量越来越大……</p>

网上很多人都有同样的问题,但我还没有找到令人满意的答案。这是迄今为止我发现的关于这个问题的最佳讨论:

IE WebBrowser 控件中的内存泄漏

有人建议升级到 IE8 来解决这个问题。

但是,无论用户是否安装了最新的 IE 版本,我都需要一个可行的解决方案。我无法控制用户环境。

有人知道如何释放 WebBrowser 控件占用的内存吗?有解决方法吗?WebBrowser 控件是否有替代品?

更新: 我刚刚做了一些测试。在工作中,我正在运行 Windows XP 和 IE6。记忆没有在那里增长。调用导航方法时内存会增加,但会在一段时间后释放。在家里,我正在运行 Vista 并升级到 IE8。在这里我也看不到问题了。看起来这个问题是特定于 IE7 的。所以问题应该改写为“安装 IE7 时如何修复 IE WebBrowser Control 中的内存泄漏”。任何人都可以确认这个问题是特定于 IE7 的吗?

0 投票
10 回答
65128 浏览

c# - 如何从 windows.form 中删除 Cookie?

我正在使用 C# 编写的 windows.form 应用程序上的 Webbrowser 控件。我想写一个方法,在访问某个站点后从 Webbrowers 控件中删除 cookie。不幸的是,我不知道该怎么做,也没有在互联网上找到很多帮助。

如果有人有实际这样做的经验,而不仅仅是假设的,因为它可能比看起来更棘手,我不知道。

我只是假设上面的代码可以工作,但我想它不会。任何人都可以对这整个饼干的事情有所了解吗?

0 投票
4 回答
985 浏览

html - 使用不是一个好习惯吗?

0 投票
1 回答
1628 浏览

c# - 如何将 xml 保存在 webbrowser 控件中?

我有一个显示一些 xml 的 webbrowser 控件,当我访问文档属性时,我得到了控件生成的 HTML,而不是 xml。如何保存文档的“来源”?(不能使用网络客户端)

0 投票
1 回答
1666 浏览

c# - 更改操作系统信息、更改分辨率信息、IE Webbrowser Control .NET C#

我最近创建了一个自动浏览器窗口窗体应用程序,此时浏览各个地方只是为了好玩。但是我在访问 tracemyip.org 时注意到,他们可以获得与我的操作系统和分辨率相关的信息。浏览这些类型的网站时,有没有办法只改变我的分辨率和操作系统的外观?

0 投票
1 回答
13060 浏览

c# - 有没有办法动态创建和处置 Webbrowser 控件?

我有这个使用 Webbrowser 控件进行自动浏览的应用程序。我需要想出一种方法来自动关闭浏览器(处置),然后创建另一个实际工作的实例。

这是我到目前为止的一些代码。

所以我在想如果我处理 webbrower 实例。

然后创建 webbrowser 对象的新实例。

不幸的是,这不起作用。浏览器的新实例不会显示,并且已处理的浏览器对象只是在 windows 窗体中保持冻结状态。

有什么我做错了吗?

谢谢

0 投票
4 回答
90276 浏览

c# - 更改 WebBrowser 控件的用户代理

我正在尝试在 Winforms 应用程序中更改 WebBrowser 控件的 UserAgent。

我已经通过使用以下代码成功地实现了这一点:

唯一的问题是这只能工作一次。当我第二次尝试运行 ChangeUserAgent() 方法时,它不起作用。它保持设置为第一个更改的值。这很烦人,我已经尝试了一切,但它不会改变不止一次。

有谁知道另一种更灵活的方法?

谢谢

0 投票
1 回答
760 浏览

c# - 关闭 WebBrowser 控件时应用程序冻结

我是 WinForms 的新手,我正在尝试将WebBrowserGNU/Linux 上的控件与 Mono 一起使用。它运行良好,但是当我关闭表单时会收到奇怪的警告,并且当我尝试创建另一个包含WebBrowser.

事实上,我可以启动任意数量的浏览器,直到我关闭一个。然后,如果我创建一个新的应用程序冻结。

这是一个示例代码:

以下是我收到的警告:

所以我的问题是:我做错了什么?问题是否可能来自 Mono?


更新:在 Windows 上,如果我添加[STAThread]beforeMain的定义,它就可以工作。

0 投票
1 回答
1464 浏览

c# - 截取 C# webbrowser 的超链接

我在 C#.NET CF 中有一个 webbrowser 控件。

当用户单击超链接时,我不会尝试导航到指定的 URL,而是如何显示存储在内存中的 html 内容片段?

我试过以下

0 投票
2 回答
1551 浏览

.net - 为什么紧凑框架WebBrowser控制Opera中的加载页面?

我需要能够使用 Windows 窗体上的 WebBrowser 控件显示本地存储在设备上的 html 文件。

我只是将 WebBrowser 指向这样的页面: ctrlBrowser.Url = new Uri("file://\\My Documents\test.html");

除了安装了 Opera 浏览器的 windows mobile 6.1 设备外,页面加载完全可以控制。每次运行上述代码时,页面都会加载,但它会加载到新启动的 Opera 浏览器屏幕中。我需要使用 WebBrowser 控件来捕获导航事件等,但似乎找不到在安装 Opera 时强制页面加载控件的方法。

非常感谢您的想法,因为我在这个问题上反对一堵砖墙。