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

c# - C# WebBrowser.Navigate 问题

我有一个 XML 文件存储在我的应用程序 (BIN\DEBUG\File.xml) 的 BIN 文件夹内的 DEBUG 文件夹中

当我调用 WebBrowser1.Navigate("File.xml");

它不会使用文件的显示来更新视图。我知道这与由于文件夹位置不正确而找不到文件有关。必须从此文件夹位置访问该文件。

帮助表示赞赏

0 投票
5 回答
51341 浏览

c# - 如何在 C# 中使用 WebBrowser 控件 DocumentCompleted 事件?

在开始写这个问题之前,我试图解决以下问题

问题是,如果网页上存在 iframe,DocumentCompleted 事件将被触发不止一次(在每个文档完成后)。程序很可能会尝试从 DOM 中读取未完成的数据并且自然会失败。

但突然在写这个问题“如果”怪物启发了我,我解决了我试图解决的问题。由于我在谷歌上失败了,我想把它贴在这里会很好。

至少现在,我的 5m hack 似乎运行良好。

也许我在查询 google 或 MSDN 时真的失败了,但我找不到:“如何在 C# 中使用 webbrowser 控制 DocumentCompleted 事件?”

备注:在学习了很多关于webcontrol的知识后,我发现它做了Funky的东西。

即使您检测到文档已完成,在大多数情况下,它也不会永远保持这种状态。页面更新可以通过多种方式完成 - 帧刷新、类似请求的 ajax 或服务器端推送(您需要有一些支持异步通信并具有 html 或 JavaScript 互操作的控件)。还有一些 iframe 永远不会加载,所以永远等待它们不是最好的主意。

我最终使用:

0 投票
1 回答
432 浏览

c# - WebBrowser 事件属性?

我能否确定某个功能是否已分配给某个事件?

例如(带有网络浏览器控制的标准 winforms 应用程序)

而且,如果我可以做我上面描述的事情,那该怎么做?

0 投票
2 回答
7156 浏览

.net - 在没有 WebBrowser 控件的 Windows.Forms 中托管 Silverlight

是否可以在没有 WebBrowser 控件的情况下在 Windows.Forms 中托管 Silverlight 以避免不必要的 COM 封送处理?

编辑:目标是在 Windows 2000 等旧平台上使用丰富的图形内容,如 WPF 或 Silverlight。

0 投票
2 回答
1732 浏览

c++ - MSHTML IWebBrowser2 - 下沉页面事件导致错过击键?

我的应用程序使用 MSHTML 有点问题。除了主题行中提到的快速打字时奇怪的击键丢失行为外,我一切正常。我认为这可能与我用来接收事件的方法有关?

详细信息:我的应用程序是在 Visual Studio 2005 中用 C++ 和 MFC 编写的单独程序。该程序附加到 Internet Explorer 的当前运行(独立)实例,并获取指向IWebBrowser2接口的指针并将其传递给类型为的对象CCmdTarget

这个类跟踪浏览器中发生的事情。我使用以下命令接收浏览器事件:

如果我注释掉AfxConnectionAdvise,那么不会错过任何击键但不会有更多事件。如果我把它留在里面,我会沉没事件,但如果打字很快就会错过偶尔的击键。

我知道有很多方法可以连接到事件(AtlAdvise连接点),但这是我唯一可以使用的方法。

任何建议都会很棒!

0 投票
3 回答
4661 浏览

c# - WebBrowser 控件不会从 C# 打印

我在 WinForms 应用程序上有一个 WebBrowser 控件,该应用程序正在加载转换为 HTML/CSS 的 XML。如果我只想在那里或在常规浏览器中查看它,看起来很漂亮。

当表单加载时,它应该导航到文件,然后当 OnDocumentCompleted 事件触发时,它应该在注册表中设置页眉、页脚和默认打印机名称,然后为用户指定的多个副本调用 Print()。

我已经通过调试器运行它,它在 OnDocumentCompleted 事件中调用 webBrowser.Print() 的次数正确。没有什么不应该是 null,WebBrowser 控件上的 Visible 是 true,AllowNavigation 也是如此。是的,打印机已打开并可通过网络访问。完全相同的代码在项目的其他地方工作,但在这里不工作。

还有什么可能导致这个地狱般的控件忽略我的打印命令?

理想情况下,我希望将整个内容隐藏在屏幕外,因为这是使用 Windows 调度程序运行的,用户永远不会看到它。不过,我已经读过控件需要可见,所以在我解决第一个问题之前,可以等待。

编辑:我的 OnDocumentCompleted 事件处理程序的最后两行将 DialogResult 设置为 OK 并关闭了表单。删除对 Close() 的调用让它打印,所以我猜它在表单关闭和 WebBrowser 控件被释放之前没有到达打印后台处理程序。

除了设置任意时间限制以在关闭之前等待之外,有什么方法可以判断何时完成打印?

0 投票
2 回答
1048 浏览

browser - 如何从 WebBrowser Control 控制应用程序?

我用谷歌搜索了它,但结果是空的。最糟糕的是,我知道这是可能的。

无论如何,我正在开发一个应用程序,它使用WebBrowser控件来显示有关对象的信息(就像 Outlook 对规则和警报对话框所做的那样)。

我的问题是如何单击WebBrowserWindows 窗体中执行某些功能中的超链接?

例如,假设我有一个这样的链接当我单击它时,我希望应用程序显示一个特定的表单,就像 Outlook 在您单击超链接时所做的那样People and Distribution List

0 投票
1 回答
425 浏览

multithreading - 如何在 web 应用程序中使用 Winforms WebBrowser 控件?

我已经开发了一个库来使用 WebBrowser 控件来操作 HTML 以符合我们的需求,但是我需要这个库来处理 web 应用程序而不是 winforms 应用程序。我得到的主要问题是:

“ActiveX 控件 '8856f961-340a-11d0-a96b-00c04fd705a2' 无法实例化,因为当前线程不在单线程单元中。”

我理解这是因为 WebBrowser 控件需要在 STA 线程中运行,但显然 Web 应用程序不是 STA 环境。它是一个服务器端进程,所以它不在页面本身中。关于如何解决这个问题的任何想法?我考虑在隐藏页面的Page标记上设置AspCompat="true"属性并从中运行它,但我宁愿使用更优雅的解决方案。

干杯

0 投票
1 回答
435 浏览

windows-mobile - 从 Web 浏览器控件访问 Cookie

我有一个 Windows mobile 6 应用程序,其中包含一个 Webbrowser 控件来导航一些 Intranet 站点。是否有可能以某种方式访问​​页面设置的已知 cookie,因为它们显示在浏览器控件中?

由于紧凑的框架没有 ObjectScripting 方法,我想不出任何可以做到这一点的工作。

非常感谢您的帮助

托尼

0 投票
1 回答
584 浏览

wpf - wpf浏览器控件的块脚本调试

我已经为我的 WPF 浏览器应用程序使用了浏览器控件。我想禁用脚本错误消息。请让我确切知道,因为我对这个应用程序非常陌生。提前致谢。

除了在 Internet 选项的高级选项卡上禁用脚本消息之外的答案。