问题标签 [ihtmldocument]

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 回答
8237 浏览

mshtml - MSHTML 教程

我想学习一些关于 MSHTML 的基础知识,比如如何使用 IHtmlDocument 和 IHtmlDocument2 接口。我搜索了很长时间,但找不到适合初学者的教程。有人可以推荐一些东西来阅读吗?

编辑:我更喜欢使用 C#。

0 投票
1 回答
1664 浏览

c# - 使用 IHTMLDocuments 1、2、3 和 4

我在当前项目中使用网络浏览器,目前我在设计模式下使用它以使其可编辑等。我目前使用的代码是:

IHTMLDocument2、3 或 4 实际上是什么?我还发现,在识别文档中的当前选择范围时,range.text.replace 方法的工作方式与 string.replace 不同。

谁能向我解释一下 IHTMLDocuments 和 IHTMLTxtRange 的基本功能吗?

0 投票
1 回答
1177 浏览

ihtmldocument2 - 使用 Microsoft Html 控件时,ReadyState 永远不会比交互式更进一步

我们正在使用 Microsoft MSHtml 控件来呈现和修改网页,我们今天部署到 Citrix 并发现文档状态通常不会比交互更进一步,而我们期望它能够完成。

我们正在使用 c# 并且我们确实有一个 UI,就像我在我的问题中所说的那样,这是一个间歇性问题。即使我们加载相同的页面,在普通桌面上也可以,通过 Citrix,我们会遇到间歇性问题 – Kev Hunter 1 分钟前 [删除此评论]

我们正在使用 Microsoft.MsHtml 和互操作 dll – Kev Hunter

有没有人见过这个?

0 投票
1 回答
1067 浏览

c# - IHTMLElement2.getBoundingClientRect() 无法正常工作

getBoundingClientRect() 并不适用于所有情况。当说一排并排的链接列表并且其中一半被推送到下一行时,它会失败,因为所有链接不能放在同一行中。现在对于第二行的第一个链接,getBoundingClientRect() 没有给出正确的结果。

IHTMLRect.bottom 和 IHTMLRect.right 的值是正确的,但是 IHTMLRect.left 和 IHTMLRect.top 的值对应于第一行中的第一个元素。

如何获得第二行中第一个链接的确切坐标?

这发生在说谷歌页面或维基百科页面上,那里有一堆语言或位置链接。

例如,维基百科中的链接说,

由于布局,将出现在如下两行中。

对于这种情况, IHTMLElement2.getBoundingClientRect() 可以完美地适用于除Français之外的所有内容。

我不确定为什么会发生这种情况,非常感谢任何针对此问题的帮助或解决方法。

0 投票
1 回答
361 浏览

c# - Get a particular input element from a particular form

Like the statement,

in javascript, is there a corresponding statement to get the value of a particular input element within a particular form in C#?

I can do so by using HTMLDocument and mshtml interface. But that is a rather cumbersome process so if any direct method or property exists it would be great.

0 投票
1 回答
645 浏览

.net - 在 .NET 中的 createDocumentFromUrl 调用中包含 post 变量

我在 Visual Basic 2010 Express 中有一个使用 IHTMLDocument 对象解析网页的项目。这是我用来检索网页的函数:

我基本上是在用这个函数做这样的事情:

我试图弄清楚当我检索 HTML 文档时如何在 URL 字符串之外包含 POST 变量。我的意思是我希望能够做到这样的事情:

所以我想修改我现有的 GetHTML 函数,以便允许我在可能的情况下包含 post 变量,如果不是,我想知道是否有其他方法可以做到这一点。感谢任何能提供帮助的人。

0 投票
3 回答
12123 浏览

html - 如何在不使用 Web 浏览器的情况下呈现 HTML 元素?

有没有办法在不使用任何 Web 浏览器控件的情况下在画布上绘制特定的 HTML 元素内容?

使用此代码,我将元素呈现到表单的画布(仅作为示例)。
它虽然有效,但这段代码不是一个好习惯 - 见下文,为什么......

这很糟糕,因为

有没有一种干净的方法可以使用 MSHTML 解决这个问题?

0 投票
1 回答
310 浏览

mshtml - 使用 IHTMLDocument 强制加粗

我正在使用基于 MS HTML 的 HTML 编辑控件。

我需要能够强制文本为粗体/非粗体,并且找不到一种简单的方法来做到这一点。

我可以如下切换粗体状态:

我可以得到如下粗体状态:

现在你当然会说,好吧,只是获得粗体状态,然后在需要时切换它。

不幸的是,所选文本实际上可以具有三种状态:非粗体/部分粗体/全粗体,因此我被迫在查询之前盲目切换状态以确保它仅处于两种已知状态:非粗体/全粗体。这很丑陋,所以我想知道我是否遗漏了一些明显的东西。

谢谢 IA

0 投票
1 回答
950 浏览

c++ - 使用 IHTMLDocument 而不是 IWebBrowser2

我想在我的 Win32 应用程序中显示一个简单的网页。

我读过这个问题

IWebBrowser2:如何强制链接在新窗口中打开?

我想在问题的答复中完全说明,但没有找到代码示例。

是否有一个简单的示例显示如何使用 IHTMLDocument 而不是 IWebBrowser2 在 Win32 应用程序中呈现 HTML 文档。

0 投票
2 回答
21649 浏览

delphi - 如何使用来自 TIdHTTP 的字符串创建 IHTMLDocument2?

我用 下载了一个 URL IdHTTP.Get,我需要搜索 HTML 标签并提取一些数据。

如何将IdHTTP.Get返回的字符串转换为IHTMLDocument2?