- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Microsoft 的 mshtml 编写一个简单的 HTML 所见即所得编辑器。其中一个功能应该是为所选文本选择标题类型(例如 h1、h2、h3)。第一次赋值是没有问题的,代码如下:
// *doc* is my IHTMLDocument
// *tag* contains the header tag
IHTMLTxtRange range = (IHTMLTxtRange)doc.selection.createRange()
string rangeText = range.text;
IHTMLElement elem = doc.createElement(tag)
elem.innerHTML = rangeText;
range.pasteHTML(elem.outerHTML);
当我尝试更改 header 时,尽管 MSDN 提到了 pasteHTML,但旧 header 没有被替换:
Pastes HTML text into the given text range, replacing any previous text and HTML elements in the range.
这意味着如果我的 HTML 是
<H1>foo</H1>
第一次赋值后,得到
<H1>
<H2>asdasd</H2></H1>
第二个之后。
我做错了什么?我错过了什么吗?
最佳答案
你试过把最后一行改成
range.pasteHTML(elem.innerHTML);
? 我认为 outerHTML 会包含原始的 h1 标签,然后您会粘贴
<H1><H2>asdasd</H2></H1>
结束
<H1>foo</H1>
关于c# - IHTMLTxtRange.pasteHTML 不会替换旧的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1328378/
我正在为驻留在旧 CMS 中的旧 IE 专用所见即所得编辑器编写插件。我创建了一个插件,可以打开一个弹出窗口,用户可以在其中输入 YouTube 剪辑的网址。 弹出窗口然后为嵌入创建正确的 标记并使用
我们在 Delphi 中使用标准 TWebbrowser 组件,该组件在内部使用 mshtml.dll。另外,我们使用注册表来确保页面使用新的渲染引擎( Web-Browser-Control-Spe
我正在使用 Microsoft 的 mshtml 编写一个简单的 HTML 所见即所得编辑器。其中一个功能应该是为所选文本选择标题类型(例如 h1、h2、h3)。第一次赋值是没有问题的,代码如下: /
我制作了一个 jQuery 幻灯片,将其插入我的网站(Jimdo 平台)的唯一方法是通过 iframe。问题是,如果我从 pastehtml.com 中使用 iframe 它,我会在我的 jQuery
这个问题已经有答案了: Insert html at caret in a contenteditable div (4 个回答) 已关闭10 年前。 我试图让 IE 粘贴到 contentedita
我在 Internet Explorer 中使用 pasteHTML 方法替换所选文本(将 HTML 文本粘贴到给定的文本范围内,替换该范围内的任何先前文本和 HTML 元素。) var ran =
我正在使用可编辑的 iframe 创建自定义的 WYSIWYG。我想添加自定义 html 标签 到选定的文本,如 一些内容在这里 .我用过这段代码 Editor = document.getEleme
我有以下带有 Javascript 代码的 HTML(注意:这只适用于 Internet Explorer): function changeIt() { var startTag = "";
我试图让用户编辑一个内容可编辑的 div,但我发现除非选择了一些文本,否则我无法使用 pasteHTML。 我以为 document.selection.createRange() 会返回一个有效的零
我是一名优秀的程序员,十分优秀!