- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
") 将-6ren">
因此,目前我正在开发一个小按钮,要求用户输入视频链接,然后我将该链接放入 iframe 中,然后使用 document.execCommand("insertHTML", false, "<iframe width='350' height='551' src='<video_link_entered_by_user>'></iframe>")
将其插入到 contenteditable 中。 .这很好用,视频被嵌入到 contenteditable
中.
唯一的问题是,如果我这样做 Command
+ Z
或按undo
在Safari
, iframe
不会因为某种原因被撤消。它适用于 Firefox
, Chrome
, Edge
, 和 Opera
, 但出于某种原因我认为 safari
不明白如何undo
它。
除了实现我自己的撤消/重做堆栈之外,是否有任何解决方法?我只想在用户选择 undo
时摆脱 iframe同样在 Safari 中,并在用户选择 redo
时将其添加回去.请帮助并提前致谢。
编辑:
这是一个 JS fiddle 来演示我在说什么。如果您在除 Safari 之外的任何浏览器中运行它并按撤消键,它就会起作用。但不是在 Safari 中。 http://jsfiddle.net/qg41pd3k/9/
最佳答案
我认为 Safari 并不真正支持它。查看 https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand , execCommand 方法返回 true/false 是否支持/启用该命令。在 Safari 中它总是返回 false(根据我的测试)。
我认为唯一的解决方法是实现您自己的撤消/重做堆栈。
关于javascript - 使用 insertHTML 的 execCommand 的 iframe 撤消/重做(contenteditable),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51831623/
我已经放弃了让它跑得更快的实际尝试。 我最大的问题是,当我插入 html 时,应用程序会变慢到爬行。我有一个进度条,我正在调用 QCoreApplication.processEvents() (顺便
我需要确认! 我正在尝试将一个元素的内容交换到另一个包含 HTML 标签的元素。我很确定我在声明下面的代码应该有效时是正确的。我需要知道我是否正确,因为如果这不起作用的原因是我认为的那样,我需要创建一
我有一个"template"选择器,可以让人们更改当前文本区域的“文本/html”。 所以当他们更改模板时,我需要更新 Summernote HTML。我看到了 (insertText) 的方法,但它
HTMLEditorKit.insertHTML(doc, doc.getLength(), "Test", 0, 0, null); 结果: "Test " -添加'\n' HTMLEditorKi
我生成了一个辅助线程来执行一些繁琐的工作,将目标QTextBrowser传递给它,并希望它可以通过insertHtml()将运行时消息输出到 QTextBrowser。有时它可以工作,但最终会使应用程
这是我的代码。 editPane 是一个 JEditorPane。HTMLKit 是分配给 editPane 的 HTMLEditorKit。 try { HTMLKit.insertHTML(
在下面的代码中,我使用 execCommand('insertHTML') 突出显示了选定的文本 问题: 当我在下面选择第一个 selectme 时。它占用了 selectme 和 Test 之间的空
我试图通过添加这样的 CSS 类以编程方式突出显示搜索词的所有出现: const style = document.createElement('style'); style.setAttribute
我正在使用 CKEditor 构建自定义文本编辑器,我想编写自己的 JavaScript 函数以将 HTML 插入 CKEditor 窗口。 CKEditor 有一个名为 editor.insertH
我在 IE8 下使用 CKEditor insertHtml 和 insertElement 方法时遇到一些问题,我开发了一些自定义插件,当我尝试将任何元素插入文本时,在我的情况下,这是带有一些额外自
我目前在使用 Internet Explorer 和我创建的 Javascript 时遇到问题。我一直试图找出不兼容问题的根源,但一直无法查明。 这在 Firefox 26 中运行良好,但在 Inte
在开发某种带有不可编辑 block 的所见即所得编辑器时,我在 Chrome(和 Safari)中发现了一些有趣的行为:当您在 div 中使用 执行 execCommand('insertHTML')
我尝试使用以下代码将上传的图像插入到 CKEditor 中, var editor = CKEDITOR.instances.writearticle; var value = ''; editor.
我的任务是在当前插入符位置的 contentEditable div 中插入一个空的 span 节点。 以下内容在 Firefox 22.0 上没有问题: HTML text Javasc
$( "#x_img" ).load( "../x_img.php?id=123" ); $("#x_img").delegate("img", "click",function() {
我做了一个简单的插件来将 HTML 插入到一个内联的 CKEditor 中。但每次插入后,编辑器都会失去焦点。有没有办法在插入 HTML 后保持焦点并使光标保持事件状态? editor .ad
我正在尝试使用内容可编辑的 div 制作所见即所得编辑器,并且我正在使用 document.execCommand('insertHTML', false, html); 插入 html;但问题是,当
我正在使用 GWT RichTextArea 并且需要在当前光标位置插入文本。我阅读了有关使用 RichTextArea.getFormatter().insertHTML() 方法来执行此操作的信息
我注意到 Office-js 在 Word 2016、Word for Mac 和 Word Online 之间存在不一致。 插入单个 时 block /段落格式的元素,似乎 Word 2016 不
我做了一个拼写检查器之类的东西。在此代码中,当用户单击链接时,会出现一个选项列表,选择一个选项时,超链接中的文本会更新。我的问题是,当我更新第一个单词时,它就消失了。我正在为其编写示例工作代码。 “链
我是一名优秀的程序员,十分优秀!