问题标签 [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.
internet-explorer-8 - 如何在用户需要时通过 bho 获取 html 文本,而不是在 OnDocumentComplete (高于 ie8)
这些步骤是我所做的。
1)我刚刚从 SetSite 中的 pUnkSite 获得了 IWebBrowser2 接口指针,就像大多数 bhos 通常所做的那样。
2) 在 OnDocumentComplete 中,2-1) 从 IWebBrowser2 成功获得 IHTMLDocument 接口指针。2-2) 从 IHTMLDocument 获取 html 文本
我确认上述这些步骤工作正常。
但我真正想做的是,只要用户想要获取 html 文本(例如,用户单击“获取 html”按钮),bho 就会显示包含当前页面的 html 的消息框。
因此,当用户单击“获取 html”按钮时,我编写了一个函数来执行此操作,如下所示。
这是发生异常时的调用堆栈。
更有趣的是它在 ie6 中可以正常工作,但在 ie8 中不能正常工作。(与 ie6 相比,ie8 有什么变化吗?)
请留下任何关于这个问题的建议或意见,
提前致谢。
c++ - 如何从流中加载 html 内容,然后如何创建样式表以在预览窗格中显示 html 文件(如 HTML 预览处理程序)
我正在开发一个 Visual c++ 应用程序,我必须为预览窗格中的 HTML 预览开发预览处理程序。我有想法对 Xml 文档执行相同的操作(对于 xml 文件,他们创建样式表来完成此任务),但我不知道如何为 .html 文件执行此操作。
如果我是对的,那么我必须做这样的事情-
有任何想法吗 ??
我的意思是我知道如何为他们的 XML 文件执行此操作,如下所示-
知道如何对 html 文件做同样的事情吗??我想为 HTML 文件做同样的事情。明白了???如果没有请再问我一次??
看到这个来理解我实际上想要做什么——我想要做的是我有一个包含任何 html 文件内容的流(IStream *m_FinalHTMLStream;)。我如何得到流现在不是问题。现在重要的是它包含一个 html 文件的内容(如果你在记事本中打开任何 html 文件-_FinalHTMLStream 包含相同的内容)。现在你可以看到当我们在窗口资源管理器中有一个 html 文件时,如果我们单击它,我们可以在预览窗格中看到 html 文件预览。我也想做同样的事情。为此,我们需要将 html 文件内容存储在某个位置(在我的情况下,我有 _FinalHTMLStream)。对于对 XML 文件执行相同操作,代码如上,但我不知道如何对 html 文件执行此操作。所以这就是我想要的。现在明白了??如果没有,请告诉我??
我正在创建自己的预览处理程序 hor .html 文件,这就是我正在做的事情(简而言之) ..
c++ - 解析html文件的实际含义是什么?
我无法理解解析 html 的实际含义是什么?
据我了解 - 这意味着假设我们通过解析有任何 html 文件,我们可以拥有 html 文件的内容,我们可以使用解析来编辑它们。我对吗 ??(解析只是给出了关于文件内容和结构的想法。)
我还有一个问题--我还想知道假设我将 html 文件内容存储在流中(在 IStream *HTMLContents 中-暂时不管我是如何获得这些内容的)。是否存在使用这些文件内容的任何过程,我可以在任何窗口/对话框/预览窗格上创建预览,其方式与我在浏览器中查看该 html 文件的方式完全相同。(现在你可以想象我已经从任何网页(或从任何地方下载了 HTML 文件内容 - 无论如何 - 但我的流中有 html 文件的内容我很确定)并且我想在我自己创建的窗口中呈现该 html 文件视图/对话框/预览窗格(我的意思是它应该完全按照它在浏览器中显示的方式查看 - 是的,我知道在 html 文件中显示一些图片是不合适的,但这对我来说不是问题)。怎么做 ??(我正在使用 Visual c++ 来完成我的任务)
c++ - 需要为新的 Internet Explorer 版本更新 MsHtml
由于 Internet Explorer 9 有一个新界面IDOMDocumentType
( http://msdn.microsoft.com/en-us/library/ff975983%28v=vs.85%29.aspx )。
这些接口在mshtml.h
. 但是我有 Visual Studio 2005,它还没有这个接口声明。即使这个接口是在 Visual Studio 2012 文件中声明的,我也不会为了获得 20 行代码的声明而安装新的 Visual Studio!我的磁盘已经满了!
我知道这不是必需的,如果我在代码中添加 20 行,我可以使用 Visual Studio 2005 轻松完成此操作。
谁能告诉我微软是否为新的 Internet Explorer 版本的开发人员发布了更新以及在哪里可以找到它们?
如果没有,我在哪里可以找到mshtml.h
包含 Internet Explorer 9 新界面的内容?
埃尔穆
c# - 如何获取 mshtml.IHTMLDocument6 或 mshtml.IHTMLDocument7?
我在 Windows 7 中使用 IE11。然后我在 C# 项目c:\Windows\System32\mshtml.tld中添加了一个引用并尝试获取 mshtml.IHTMLDocument6 或 mshtml.IHTMLDocument7,但 VS2013 没有看到它。我只能得到 mshtml.IHTMLDocument、mshtml.IHTMLDocument2 .. mshtml.IHTMLDocument5。
IHTMLDocument7 界面 https://msdn.microsoft.com/ru-ru/library/windows/hardware/ff975572
c++ - 从 C++ 将 CustomEvent 触发到 IHTMLDocument 实例中
我有一个实例化 WebBrowser 控件的 Qt 3.3 应用程序,我需要在当前文档中触发一个 CustomEvent,并将 JSON 字符串作为详细属性。
之前有人问过类似的问题,但答案使用了已弃用的 API(例如createEventObject
)。目前推荐的方法是什么?我很难在网上找到任何文档,而且要获得简单的结果,该过程似乎相当复杂。
c++ - 带有 IHTMLDocument3 的 getElementsByTagName 随机返回任何内容
我正在尝试从 C++ 程序中填充 Internet Explorer 中的一些表单输入字段,但我正面临一个随机错误,我希望这是因为我的代码:
在最后一行并且在同一页面上使用相同的 HWND 时,有时我会得到很好的数字或输入字段,并且经常为 nelm 得到 0。
你在我的代码中看到什么错误还是一个错误?请注意,我验证了 HWND 是正确的,并且return
从未调用过。
谢谢
c++ - 通过 IHTMLDocument2 和 C++ 更改 div innerHTML
我正在尝试以这种方式使用 IHTMLDocument2 界面更改 div 的内容:
所以我的 div 的内容只是被清除而不是替换为“你好”,我不明白为什么,这可能是一个安全问题吗?
谢谢
c# - 如何在 C# 代码中使用 IHTMLEventObj 从下拉列表或列表框中获取 selectedItem
我想从 IE 浏览器中打开的下拉列表中记录 selectedItem。以下是我在 c# 程序上获取浏览器事件的代码,它可以工作,但我无法从浏览器中获取列表项的选定文本。
vba - HTMLDocument.getElementsByTagName() 不适用于非 html 标记名称
以下代码适用于标准 html 标记,例如div或p。这将删除第一个累积标签:
但是,当您读取带有 Angular 标签名称(如article或main或任何其他非标准 html 标签名称)的 HTMLDocument 时,getElementsByTagName() 无法正确读取 DOM。提取节点的提取 .outerHTML 仅包含开始标记,而 .innerHTML 为空。当您删除这样一个节点时,只会从 HTMLDocument 中删除开始标记,因此破坏了 DOM 结构的整个逻辑。
我在这里错过了什么吗?