问题标签 [mshtml]

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 投票
1 回答
1269 浏览

delphi - 如何让 TWebBrowser 忽略其他控件的加速字符?

我在启用了 designMode 的表单上放置了一个 TWebBrowser。
在浏览器下方,我有一个关闭按钮,标题设置为“关闭&e”。
当我在 WebBrowser 中编辑文档内容并按下 E 键时,会调用关闭按钮。
它似乎将 TWebBrowser 视为其他不处理键和/或不接受字符的控件(例如 TButton)。

我该如何解决这个问题?

提前致谢。

0 投票
3 回答
1193 浏览

delphi - 是否有另一种方法可以在不使用 Application.ProcessMessages 的情况下加载 MSHTML 文档?

是否有另一种方法可以在不使用 Application.ProcessMessages 的情况下加载 MSHTML 文档?

要将文档加载到 IHTMLDocument 中,我需要这样做:

我不想在加载过程中处理所有消息队列,因为我会改变我的应用程序流程,换句话说,可以在加载完成之前处理一些应该在加载完成之后处理的消息,甚至在加载结束之前。

IHTMLDocument 期望在加载过程中推进一个特殊的消息代码?还是有其他加载方式?

0 投票
1 回答
1631 浏览

javascript - 为什么这个窗口对象没有 eval 函数?

我在 IE 上的YUI 富编辑演示中遇到了一个有趣的 (?) 问题。在查看window用作浏览器的内容可编辑框架的对象时,我看到该eval函数未定义(通过运行以下命令)。

这只发生在 IE 上(我检查了 IE6 和 IE8),它不会发生在 Firefox 或 Chrome 上。

所有其他window功能和属性似乎都是有序的,现在我意识到这eval并不是全局对象上而是在全局对象上定义的,window但我的理解是在浏览器中window 全局对象(也eval确实出现在所有其他窗口上,所以为什么不在这个?)。

有谁知道这是否是 IE 中的已知错误/限制,以及我如何才能eval在此框架的全局对象的上下文中到达?(我需要在这个框架内运行的任何东西都可以使用副作用)。

0 投票
2 回答
2543 浏览

c# - C#/.NET 4.0 中的新 NoPIA 和类型等效功能是否意味着不再需要 Microsoft.mshtml.dll

我正在维护一个基于 WPF 的应用程序,其中包含基于 IE Web 浏览器控件的基于 WinForms 的 WebBrowser 控件。当我们部署时,我们还必须提供Microsoft.mshtml.dll并为我们的 ClickOnce 发布过程做一些自定义配置,以便让事情正常工作。

我很好奇,使用 C# 4.0 中的新NoPIA类型等效功能以及动态类型功能,如果我们升级,我们可以期望我们可以删除对Microsoft.mshtml.dll程序集的依赖关系吗?如果是这样,这不仅会大大减少我们的部署规模,还会简化我们的发布过程。

据我了解,我们应该能够将通常自动生成的类型嵌入到 COM 类型的额外程序集中,例如 Visual Studio 的 MapPoint 控件。我不知道这是否也适用于Microsoft.mshtml.dll,甚至在最简单的情况下也是如何完成的。如果有人可以解释这些新功能对依赖 COM 互操作,尤其是Microsoft.mshtml.dll程序集的项目的实际影响,那将对我有很大帮助。

0 投票
3 回答
3530 浏览

c# - 设置 HTML 文本元素值

在 C# WPF 程序中,我试图设置定义的 HTMLText元素的值:

我尝试了以下方法:

但我得到以下异常:

Unable to cast COM object of type 'System.__ComObject' to interface type 'mshtml.HTMLInputTextElement'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{3050F520-98B5-11CF-BB82-00AA00BDCE0B}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

我知道它在说什么,但我不知道我可以使用哪个对象来访问文本框。

我究竟做错了什么?

0 投票
2 回答
434 浏览

c# - 如何使用 C# 在 JavaScript 中创建的自定义对象上调用方法?

我有一个 WebBrowser 控件。我在 head 标签中添加了一些 JavaScript,我可以通过添加警报看到它按预期工作。在这个 js 中,我正在创建一个函数并将一些成员添加到它的原型中,如下所示:

然后回到 C# 内部,我正在做:

我可以看到测试对象是一些 ComObject 但是当我调用 run() 时没有任何反应。我没有收到任何错误,但没有任何反应。有谁知道如何调用这种类型的自定义对象?

还假设我想摆脱 createTest() 方法,如何从 C# 创建一个新的测试实例?

另外,对于奖励积分,关于将事件附加到这个自定义对象(比如说“完整”成员),我需要知道什么特别的事情,这样它就会回调到我的 C# 代码中吗?

0 投票
3 回答
1023 浏览

delphi - 以编程方式旋转 tiff 图像(或 pdf)

有谁知道在 TWebBrowser 控件中旋转图像(jpg 或 gif)的方法(使用 Delphi)

更新

该文件将是本地的。

更新 2 所以我想问题应该是如何旋转图像或 pdf。

0 投票
1 回答
531 浏览

c# - BHO 内存泄漏

我已经根据本教程编写了 BHO:http: //www.codeproject.com/KB/cs/Attach_BHO_with_C_.aspx

我的GetSiteSetSite与教程列表相同。我正在添加/删除一个处理程序并在SetSite 函数内OnDocumentComplete分配SHDocVW.WebBrowser webBrowserIObjectWithSite

出于调试目的,我删除了除基本功能之外的所有功能。这是我的OnDocumentComplete处理程序。

当我将我的 VS2008 调试器附加到 IE 实例时,我注意到所有加载的 .js 在它们各自的窗口/选项卡关闭后仍然存在。如果我将 OnDocumentComplete 中的条件设置为 false(或禁用我的 BHO),泄漏就会消失。我需要对 mshtml.HTMLDocument 进行更多清理吗?谢谢!

0 投票
2 回答
1322 浏览

c++ - 32 位应用程序中的 WebBrowser 控件在 window.open() 调用上启动 64 位 Internet Explorer

我有一个在 Windows 7 64 位上运行的 32 位应用程序。该应用程序(用 C++ 编写)承载一个 WebBrowser 控件。

当要求 WebBrowser 控件弹出一个新窗口(通过 javascript window.open() 调用)时,它会启动一个新的 Internet Explorer 进程。特别是,这个新的 IE 进程是一个 64 位的 IE 进程。

由于网页喜欢 Adob​​e Flash,不幸的是我需要确保新启动的 IE 进程是 32 位版本(这是我机器上的默认版本),以便显示 Adob​​eFlash 内容。

有趣的是,IE 本身(WebBrowser/MSHTML 的包装器)不会遇到这个问题,这意味着可以设置某种配置来提示WebBrowser 控件启动 32 位进程。

我应该在哪里寻找以确保 WebBrowser / MSHTML 创建正确的流程的任何想法?

0 投票
1 回答
1087 浏览

c# - C#:如何设置 mshtml.HTMLInputFileElement 的值

我目前正在开发一个项目,该项目需要能够使用 mshtml.HTMLInputFileElement 在 HTML 文档中设置“文件”类型的输入元素的值。我在做这件事时遇到了很大的困难。

首先我尝试了这个:

但是没有设置值。然后我在另一个论坛上读到 value 属性不能直接设置,但可以通过将焦点赋予该输入元素然后使用 SendKeys 将值发送到文件元素来设置,如下所示:

这也失败了,并抛出了一个 COM 异常,指出该字段不可写。

有没有办法设置 HTMLInputFileElement 的值字段?