问题标签 [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.
mshtml - MSHTML 教程
我想学习一些关于 MSHTML 的基础知识,比如如何使用 IHtmlDocument 和 IHtmlDocument2 接口。我搜索了很长时间,但找不到适合初学者的教程。有人可以推荐一些东西来阅读吗?
编辑:我更喜欢使用 C#。
c# - 使用 IHTMLDocuments 1、2、3 和 4
我在当前项目中使用网络浏览器,目前我在设计模式下使用它以使其可编辑等。我目前使用的代码是:
IHTMLDocument2、3 或 4 实际上是什么?我还发现,在识别文档中的当前选择范围时,range.text.replace 方法的工作方式与 string.replace 不同。
谁能向我解释一下 IHTMLDocuments 和 IHTMLTxtRange 的基本功能吗?
ihtmldocument2 - 使用 Microsoft Html 控件时,ReadyState 永远不会比交互式更进一步
我们正在使用 Microsoft MSHtml 控件来呈现和修改网页,我们今天部署到 Citrix 并发现文档状态通常不会比交互更进一步,而我们期望它能够完成。
我们正在使用 c# 并且我们确实有一个 UI,就像我在我的问题中所说的那样,这是一个间歇性问题。即使我们加载相同的页面,在普通桌面上也可以,通过 Citrix,我们会遇到间歇性问题 – Kev Hunter 1 分钟前 [删除此评论]
我们正在使用 Microsoft.MsHtml 和互操作 dll – Kev Hunter
有没有人见过这个?
c# - IHTMLElement2.getBoundingClientRect() 无法正常工作
getBoundingClientRect() 并不适用于所有情况。当说一排并排的链接列表并且其中一半被推送到下一行时,它会失败,因为所有链接不能放在同一行中。现在对于第二行的第一个链接,getBoundingClientRect() 没有给出正确的结果。
IHTMLRect.bottom 和 IHTMLRect.right 的值是正确的,但是 IHTMLRect.left 和 IHTMLRect.top 的值对应于第一行中的第一个元素。
如何获得第二行中第一个链接的确切坐标?
这发生在说谷歌页面或维基百科页面上,那里有一堆语言或位置链接。
例如,维基百科中的链接说,
由于布局,将出现在如下两行中。
对于这种情况, IHTMLElement2.getBoundingClientRect() 可以完美地适用于除Français之外的所有内容。
我不确定为什么会发生这种情况,非常感谢任何针对此问题的帮助或解决方法。
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.
.net - 在 .NET 中的 createDocumentFromUrl 调用中包含 post 变量
我在 Visual Basic 2010 Express 中有一个使用 IHTMLDocument 对象解析网页的项目。这是我用来检索网页的函数:
我基本上是在用这个函数做这样的事情:
我试图弄清楚当我检索 HTML 文档时如何在 URL 字符串之外包含 POST 变量。我的意思是我希望能够做到这样的事情:
所以我想修改我现有的 GetHTML 函数,以便允许我在可能的情况下包含 post 变量,如果不是,我想知道是否有其他方法可以做到这一点。感谢任何能提供帮助的人。
html - 如何在不使用 Web 浏览器的情况下呈现 HTML 元素?
有没有办法在不使用任何 Web 浏览器控件的情况下在画布上绘制特定的 HTML 元素内容?
使用此代码,我将元素呈现到表单的画布(仅作为示例)。
它虽然有效,但这段代码不是一个好习惯 - 见下文,为什么......
这很糟糕,因为
- 它使用隐藏的TWebBrowser控件,但我想直接通过IHTMLDocument接口加载 HTML 文档并在我自己的画布上呈现某些元素
- 如果我手动创建和加载IHTMLDocument ,例如以这种方式,则渲染器方法IHTMLElementRender.DrawToDC不会绘制任何内容(可能是因为没有用于渲染文档的画布)
- 更糟糕的是,此时不推荐使用IHTMLElementRender.DrawToDC,所以我正在寻找一种在我自己的画布上呈现元素的替代方法
有没有一种干净的方法可以使用 MSHTML 解决这个问题?
mshtml - 使用 IHTMLDocument 强制加粗
我正在使用基于 MS HTML 的 HTML 编辑控件。
我需要能够强制文本为粗体/非粗体,并且找不到一种简单的方法来做到这一点。
我可以如下切换粗体状态:
我可以得到如下粗体状态:
现在你当然会说,好吧,只是获得粗体状态,然后在需要时切换它。
不幸的是,所选文本实际上可以具有三种状态:非粗体/部分粗体/全粗体,因此我被迫在查询之前盲目切换状态以确保它仅处于两种已知状态:非粗体/全粗体。这很丑陋,所以我想知道我是否遗漏了一些明显的东西。
谢谢 IA
c++ - 使用 IHTMLDocument 而不是 IWebBrowser2
我想在我的 Win32 应用程序中显示一个简单的网页。
我读过这个问题
我想在问题的答复中完全说明,但没有找到代码示例。
是否有一个简单的示例显示如何使用 IHTMLDocument 而不是 IWebBrowser2 在 Win32 应用程序中呈现 HTML 文档。
delphi - 如何使用来自 TIdHTTP 的字符串创建 IHTMLDocument2?
我用 下载了一个 URL IdHTTP.Get
,我需要搜索 HTML 标签并提取一些数据。
如何将IdHTTP.Get
返回的字符串转换为IHTMLDocument2
?