问题标签 [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 回答
39552 浏览

html - 在 Windows 窗体上显示 HTML 内容的最佳方式是什么?

我想在我的应用程序中显示 HTML 格式的内容,最好是在 Web 浏览器控件中。

我可以先创建一个 HTML 文档,然后将它加载到 Web 浏览器控件中,但这太笨拙了。

有什么方法可以将包含 HTML 代码的字符串直接加载到 Web 浏览器中?

预期输出:Hello World

我正在使用 Visual Basic 9 (VS2008)。

0 投票
2 回答
1140 浏览

.net - 301/302 重定向时 WebBrowser 控件的屏幕截图为空白

我正在使用 SmallSharpTools Web Preview 中的一些代码来获取网站的屏幕截图,但如果 url 返回 301/302 重定向,我会得到一个空白屏幕截图。

我已尝试访问 Windows.Forms.WebBrowser 包装的 ActiveXInstance,但我只能在出现错误(如 404/500)时获取代码,但我需要查看它是否为 301/302,以便我可以告诉要重定向的页面(我想我还需要重定向 url)

如果一切都失败了,我可以做一个 HTTPWebRequest 并事先整理好东西,但是我会为 1 个页面发出 2 个请求。

谢谢!

0 投票
3 回答
3270 浏览

c# - “动态” XSLT 提供网络浏览器控件?

我经常在应用程序中使用 HTML 输出,到目前为止,我已经使用了一些简单的例程来构建 HTML 字符串。我现在想尝试一些不同的东西:

我想将数据序列化为 XML,并提供一些 XSLT 模板来为 webbrowser 控件生成 HTML。我让它静态工作(通过编写 XSL 慢慢挖掘),但我需要动态更改 XSL 文档的一些属性:过滤器、路径等以遵循当前的 UI 选择。

数据足够小,更改时的 XML 序列化不应该成为问题。我想使用“静态”外部 XSL 文件(以便用户可以在一定程度上自定义输出),但要调整 .

我的问题:

这个想法在技术上合理吗?
我可以使用 XML 和 XSL 文档动态地提供 Web 浏览器控件吗?我可以动态修改 XSL 中选定的路径元素和属性(即不生成新文件)吗?如何在 Web 浏览器控件中执行此操作?(一些让我开始的指针会很好..)

[编辑]谢谢大家,它正在工作:D[/编辑]

0 投票
3 回答
862 浏览

.net - .Net WebBrowser 控件封装了除 IE 之外的任何东西?

我们使用 SHDocVw.dll 为我们的一些用户提供 Web 浏览器控件,这些用户通过他们安装在计算机上的小工具访问我们的系统。现在,该控件封装了 IE。有谁知道让用户选择封装什么浏览器的方法?

编辑 - 澄清:我有兴趣能够封装另一个浏览器。不一定要用 SHDocVw 来做。

0 投票
6 回答
2215 浏览

c# - AccessViolationException 与 Windows 窗体中的 Web 浏览器

我用 C# 编写了一个基本的 Windows 窗体应用程序,它具有嵌入式 Web 浏览器控件。我正在导航到一个页面以查看相机的提要。该应用程序在 Windows XP 上运行良好,但在 Vista 上却不行。

在 Vista 上,我得到一个 AccessViolationException。这似乎与数据执行保护有关。

http://jtstroup.net/CommentView,guid,3fa30293-a3a4-4a1c-a612-058e751ad151.aspx上的文章有几个解决方案。页面底部的修复,来自 Visual Studio 命令提示符的 editbin.exe /NXCOMPAT:NO YourProgram.exe 工作得很好。

但是,我想通过按照建议添加以下内容来使用构建后事件方法:

REM 将项目标记为 DEP 不符合要求 call "$(DevEnvDir)....\VC\bin\vcvars32.bat" call "$(DevEnvDir)....\VC\bin\editbin.exe" /NXCOMPAT:NO "$ (目标路径)"

但是,当我尝试通过调试器运行程序时,这不起作用(即我得到相同的异常)。

有任何想法吗?

0 投票
1 回答
4278 浏览

javascript - 通过 JavaScript 检查浏览器标签?

我可以通过 IE7/FF/Opera 中的浏览器选项卡检查 JavaScript 的主机页面是否处于活动状态?

但是,检查除此 JS 运行的页面之外的其他选项卡可能会带来安全风险..

我的另一个选择是我记得的原型方法,用于检查鼠标光标是否处于活动状态,但它并不准确。

0 投票
5 回答
1010 浏览

browser - 缓存和重用 HtmlElement 对象树

WebBrowser在我的项目中使用控件来显示在运行时生成/操作的复杂 HTML 文档。

我注意到,通过创建HtmlElement对象以编程方式从 C# 构造 DOM 比生成 HTML 字符串并将其传递给 DOM 慢约 3 倍WebBrowser,后者又解析它以生成 DOM。在冗长的文档之间导航时,这两种方式都会产生明显的延迟。

我正在寻找在同一WebBrowser控件中的多个文档之间切换的最快方法,理想情况下无需为每个文档重复生成 DOM 树。是否可以在我的程序中的某处缓存对象树HtmlElement,然后根据需要将它们重新插入WebBrowser

0 投票
5 回答
17610 浏览

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

WebBrowser控件中,如何删除HtmlElement对象?类中没有方法HtmlElement可以完成此操作。作为一种解决方法,我可以创建一个“虚拟” HtmlElement(不将其插入HtmlDocument),然后将要删除AppendChild的对象插入(通过)其中。HtmlElement这感觉就像一个黑客。有一个更好的方法吗?

PS我想保留HtmlElement内存以供以后使用,而不是简单地销毁它(这就是将其父级设置innerHtml为空字符串的作用)

0 投票
2 回答
2306 浏览

c++ - 用于 DOM 的 Gecko API

Gecko 是否公开了直接使用其 DOM 的 API?我正在寻找一个像 HtmlElement 这样的类,它可以用来构建/遍历 HTML 内容的树。

我正在尝试将 Gecko 作为桌面应用程序中的 Web 浏览器控件托管,并且更喜欢直接 API 而不是通过 COM。谢谢!

0 投票
3 回答
8177 浏览

c++ - 用于 DOM 的 WebKit API

WebKit 是否公开了直接使用其 DOM 的 API?我正在寻找一个像 HtmlElement 这样的类,它可以用来构建/遍历 HTML 内容的树。

我正在尝试将 WebKit 作为桌面应用程序中的 Web 浏览器控件托管,并且更喜欢直接 API 而不是通过 COM。谢谢!

谢谢!