问题标签 [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.
html - 所见即所得的html编辑器查询
我正在创建一个简单的 WYSIWYG HTML 编辑器,以使我的应用程序的用户能够设计简单的 HTML 电子邮件。
目前,我决定使用带有 MSHTML 的 Web 浏览器控件来编辑显示的内容。我有一个工具栏,其中包含所有相关按钮、粗体、下划线等。
我需要一种方法来检查当前块是否有任何格式,以便可以在工具栏的按钮上显示正确的状态。我尝试向 IHTMLDocument 添加一个事件处理程序,以便在移动鼠标或按下箭头键时触发,但是,这会阻止 Web 浏览器接受任何输入。
有没有更简单的方法来实现这个目标?
c# - 无法加载文件或程序集 'Microsoft.mshtml ...强名称验证失败
我制作了一个 WPF/C# 程序,并使用 Internet 控件进行所见即所得的 HTML 编辑。
它是一个常规的可执行程序。
它适用于大多数计算机,但是有些计算机给了我以下错误。
无法加载文件或程序集 'Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。强名称验证失败。
'Microsoft.mshtml.dll' 文件随程序一起分发。它与所有其他必需的 dll 位于与 exe 文件相同的文件夹中。
这是来自的输出Fuslogvw
谢谢
html - 有没有办法从 HTML、CSS 或 MSHTML 界面引用 Internet Explorer 中的系统字体和颜色?
我想做这样的事情:
是否有任何 Microsoft 特定的 CSS 值提供此功能?
mfc - 如何在 MFC 中使用 CHtmlEditCtrl 执行缩放
谁能帮我在 CHtmlEditCtrl 上执行缩放?
我在 CHtmlEditCtrl 上显示了我的 html 文档。现在我希望我的编辑控件以不同的缩放级别显示相同的 html 文档。我在 InternetExplorer8 中看到了这个功能。现在我需要将此缩放功能添加到我的 MFC 应用程序中。
windows - ShowHTMLDialog 和按钮样式
我使用 win32 ShowHTMLDialog 函数在我的应用程序中显示一个包含一些标准 HTML 按钮的 HTML 弹出窗口。但是由于某些原因,这些按钮的呈现方式与 IE 中的不同:它们不是圆角的,也没有 3D 效果。
有没有办法以编程方式改变它并获得类似于 IE 渲染的东西?(这有点奇怪,因为我认为在这两种情况下都使用了三叉戟......)
谢谢。
mshtml - 使用mshtml设置contentEditable,防止选择div
我当前的项目涉及使用文档编辑器,无论好坏,它都是使用 mshtml 实现的,并将 contentEditable 设置为 true。我们当然正在考虑用其他东西替换这个设置,但目前假设它不是一个选项。
万一这很重要,我们正在使用 VS 2008 (.Net 3.5) 和 C# 执行此操作:
我们希望将大部分结构编辑隐藏在 UI 后面,但让用户以任何他们喜欢的方式编辑文本。当我们添加具有多种样式中的任何一种的 div 时,就会出现问题:
(添加一个 body 标记来模拟我们正在以编程方式执行的操作,因此您可以在 IE 中进行测试,但请记住我们正在使用 C#/.Net/VS。)
这有两个问题:
- 用户的第一次点击选择了 div。我们希望点击直接转到文本,并且永远不要让用户看到调整大小的句柄。
- 如果用户将光标放在 Other Text 中,然后尝试使用键盘移动到 div 文本,则会被阻止。当您在它之外四处移动时,该 div 被视为一个字符。
那么,有效地,有没有办法让 div 表现得像一个背景装饰,但它周围的一切仍然是可编辑的?这个 html 是完全内部的,所以我们可以用它做任何我们喜欢的事情。所以 div 本身并不重要。重要的是我们:
- 包含多个 P 或其他标签
- 直观地向用户展示所有包含的 P 或其他标签都是一组的一部分,就像当前 div 上的边框和背景颜色这样的样式现在完成了。
这个 SO 问题让我担心我们目前的设置无法实现我想要的,但我要求帮助其他遇到类似问题的人。稍后我将添加一些我们提出的不完美的解决方案。
可能与否,感谢您的任何想法。
.net - 寻找一个好的 HTML 解析器,它将提供类似 offsetHeight 的值
我有一个项目需要我将 HTML 文档作为字符串加载并解析它。我正在尝试确定哪个 HTML 节点将超过页面的高度 (8.5x11),因此我可以在它之前插入一个“page-break-after”。这将通过我正在制作的 .NET dll 完成。
我尝试过使用 mshtml dom。将字符串值加载到其中并不容易,当我确实设法完成此操作时,offsetHeight (等)属性总是返回零。我发现完成这项工作的唯一方法是将 HTML 保存到磁盘,通过 SHDocVw.InternetExplorer 加载它,然后将其传递给 mshtml dom。
我假设除非 HTML 由 SHDocVw“渲染”,否则我没有要报告的 mshtml 的 offsetHeight 信息,因为这是基于屏幕像素的。我可能是错的。
我目前的代码如下:
我有两个目标。#1 是关键,#2 是理想的。
1) 从字符串加载 HTML,并且上面的代码仍然有效。
2) 理想情况下,找到一个可以做同样事情的 .NET 组件。我不喜欢依赖 .NET 中的 COM 组件,除非我别无选择。
html - 如何在 MSHTML 中设置整个 HTML?
如何在 MSHTML 中设置整个 HTML?
我正在尝试使用此作业:
但我得到了错误:
“此操作的目标元素无效”
我也尝试过使用
但是这个表单只在正文部分添加了 HTML,我需要替换所有的 HTML 源。
有人知道我是怎么做到的吗?
提前致谢。
.net - 如何设置 Webbrowser 控件的 Content-Type?
是否可以在 webbrowser 控件中设置文档的 Content-Type?
例如,如何使用 DocumentText 在 Web 浏览器控件中显示呈现为 XML 的 XML 文档?
encoding - IWebBrowser:从流中加载 html 时如何指定编码?
使用Microsoft 提供的示例代码中的概念,使用 Web 浏览器的IPersistStreamInit接口将 HTML 内容从IStream加载到IWebBrowser :
伪代码:
如何在 IStream 中指定 html 的编码?IStream 将包含一系列字节,但问题是这些字节代表什么?例如,它们可以包含以下字节:
- 每个字节代表当前 Windows 代码页中的一个字符(例如 1252)
- 每个字节可以代表 ISO-8859-1 字符集中的一个字符
- 字节可以表示 UTF-8 编码的字符
- 每 2 个字节可以代表一个字符,使用 UTF-16 编码
在我的特殊情况下,我为 IWebBrowser 提供了一个包含一系列双字节字符(UTF-16)的 IStream,但浏览器(错误地)认为 UTF-8 编码有效。这会导致乱码。
解决方法
虽然问题询问如何指定编码,但在我的特定情况下,仅使用 UTF-16 编码,有一个简单的解决方法。添加 0xFEFF 字节顺序标记 (BOM) 表示文本是 UTF-16 unicode。即然后使用正确的编码并正确显示文本。
当然,如果文本被编码,那将不起作用,例如:
- UCS-2
- UCS-4
- ISO-10646-UCS-2
- UNICODE-1-1-UTF-8
- UNICODE-2-0-UTF-16
- UNICODE-2-0-UTF-8
- 美国ASCII
- ISO-8859-1
- ISO-8859-2
- ISO-8859-3
- ISO-8859-4
- ISO-8859-5
- ISO-8859-6
- ISO-8859-7
- ISO-8859-8
- ISO-8859-9
- WINDOWS-1250
- WINDOWS-1251
- WINDOWS-1252
- WINDOWS-1253
- WINDOWS-1254
- WINDOWS-1255
- WINDOWS-1256
- WINDOWS-1257
- WINDOWS-1258