问题标签 [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 投票
3 回答
1613 浏览

.net - 防止 WebBrowser 控件吞下异常

我正在使用System.Windows.Forms.WebBrowser, 来创建一个视图 a-la Visual Studio Start Page。但是,控件似乎正在通过静默下沉来捕获和处理所有异常!不用说这是一个非常不幸的行为。

上面的代码将取消导航并吞下异常。

所以,我所做的(上面)是捕获所有异常并弹出一个框,这比静默失败要好,但显然仍远非理想。我希望它通过正常的应用程序故障路径重定向异常,以便它最终变得未处理,或者由应用程序从根目录处理。

有没有办法告诉WebBrowser控件停止接收异常并以自然和预期的方式转发它们?还是有一些 hacky 方法可以通过本地边界抛出异常?

0 投票
5 回答
4750 浏览

c# - 如何使用 WebBrowser 控件打印 css 应用的背景图像

我在 winforms 中使用 webbrowser 控件,现在发现我使用 css 应用的背景图像不包含在打印输出中。

有没有办法让网络浏览器也打印显示文档的背景?

编辑:由于我想以编程方式执行此操作,因此我选择了此解决方案:

处理这个问题的另一种方法可能是只读取值,并在打印前通知用户自己调整它。我必须同意像这样调整注册表不是一个好习惯,所以我愿意接受任何建议。

感谢您的所有反馈

0 投票
2 回答
3020 浏览

c# - 获取 WebBrowser 控件的 back/fwd 历史记录

在 C# WinForms 中,获取 System.Windows.Forms.WebBrowser 的向后/向前历史堆栈的正确方法是什么?

0 投票
2 回答
472 浏览

c# - 如何使用 C# 在具有透明背景的窗口中显示网页?

如何在透明窗口中显示网页并使网页的白色部分也透明。

0 投票
5 回答
10106 浏览

.net - 如何在 WinForms WebBrowser 控件中引用生成的 HTML 中的本地资源?

我正在使用 winforms webbrowser 控件在 Windows 窗体应用程序中显示一些内容。我正在使用 DocumentText 属性来编写生成的 HTML。这部分工作非常出色。现在我想在标记中使用一些图像。(不过,我也更喜欢使用链接的 CSS 和 JavaScript,这可以通过嵌入来解决。)

这几天我一直在谷歌上搜索,似乎找不到标题问题的答案。

我尝试使用相对引用:应用程序 exe 在 bin\debug 中。图像位于项目根目录的“Images”目录中。我已将图像设置为在编译时复制到输出目录,因此它们最终位于 bin\debug\Images* 中。所以我然后使用像这样的“图像...”的参考,认为它将与 exe 相关。但是,当我查看嵌入式浏览器窗口中的图像属性时,我看到图像 URL 为“about:blankImages/*”。当 HTML 写入控件时,一切似乎都与“about:blank”相关。缺少位置上下文,我无法弄清楚相对文件资源引用要使用什么。

我戳了一下控件的属性,看看是否有办法设置一些东西来解决这个问题。我创建了一个空白的 html 页面,并使用“Navigate()”方法将浏览器指向它,并使用文件的完整本地路径。这适用于浏览器报告空白页面的本地“file:///...”路径。然后我再次写入浏览器,这次使用 Document.Write()。同样,浏览器现在将“about:blank”报告为 URL。

除了将动态 HTML 结果写入真实文件之外,没有其他方法可以引用文件资源吗?

我将尝试最后一件事:构建图像的绝对文件路径并将其写入 HTML。我的 HTML 是使用序列化对象的 XML 的 XSL 转换生成的,因此我需要使用一些 XSL 参数,这将花费一些额外的时间,因为我对它们不太熟悉。

0 投票
15 回答
169011 浏览

c# - 如何在 WebBrowser 控件中注入 Javascript?

我试过这个:

scriptEl.InnerHtml 和 scriptEl.InnerText 都给出错误:

有没有一种简单的方法可以将脚本注入到 dom 中?

0 投票
2 回答
6293 浏览

c# - WPF 和 WinForms WebBrowser 控件之间存在哪些功能差异?

WPF WebBrowser 控件看起来很棒,但是随着时间的推移积累的关于 WinForms WebBrowser 的知识非常丰富,并且很难忽视像 csExWB 这样的工作。很高兴知道 .NET 3.5 的 WPF WebBrowser 控件相对于 WinForms WebBrowser 控件存在哪些功能缺点或优点。特别是,是否可以在 WPF WebBrowser 之上构建类似 csExWB 的功能?

0 投票
4 回答
33063 浏览

c# - 从.net(C#)中的Webbrowser控件中检索选定的文本

我一直在试图弄清楚如何在我的浏览器控件中检索用户选择的文本,并且在挖掘了 msdn 和其他资源之后没有运气,所以我想知道是否有办法真正做到这一点。也许我只是错过了一些东西。

我感谢任何有关此的帮助或资源。

谢谢

0 投票
2 回答
4875 浏览

.net - System.Windows.Forms.WebBrowser.Refresh 显示上一页

我的 WinForms 应用程序有一个带有System.Windows.Forms.WebBrowser控件的选项卡。有几个控件可以设置 WebBrowser 的.Url属性,当窗体重新绘制时,它会调用 WebBrowser 的.Refresh(WebBrowserRefreshOption.Completely)方法。

但是,有时会重新绘制表单并且 WebBrowser 内容不会改变。我打破了.Refresh( ),.Url是以前的 Url。这是怎么回事?

根据MSDN

如果设置此属性的值,然后立即再次检索它,如果 WebBrowser 控件没有时间加载新文档,则检索到的值可能与设置的值不同。

那不是很特别吗?为什么不.Refresh( )等到控件“有时间加载新文档”后再重绘呢?有没有办法强迫这种情况发生?

0 投票
2 回答
2445 浏览

c# - 从 Web 浏览器控件中检索选定的文本

这是我想做的事情:

从我使用网络浏览器控件拉出的网页中选择文本。在仍然选择此文本时单击按钮后,我希望弹出一个消息框,显示用户突出显示的文本。如何让这个功能在我的 wpf 应用程序中工作?

我认为我使用 mshtml 走在正确的轨道上,但我收到一条错误消息:

对 COM 组件的调用已返回错误 HRESULT E_FAIL。

即使我在文档上尝试一些小的操作(例如更改标题),也会发生此错误。

代码如下: