2016-02-13 133 views
0

我已经为TinyMCE编写了一个插件,它将用其属性生成的内容替换自己。这在Chrome和FF中工作正常,但它不适用于IE11。TinyMCE没有选择IE11中的元素

当我处理文档以找到自定义标签并将其替换为生成的内容时,我使用editor.selection.select(element)。这无法选择IE11中的元素。

的jsfiddle:https://jsfiddle.net/bpstoxin/bsz69zcv/1/

代码摘录

  tinymce.each(editor.dom.select(tagName, node), function(element) { 
       if (element.parentNode) { 
        editor.selection.select(element); 
        editor.selection.setContent(element.getAttribute('data-contents')); 
       } 
      }); 

由于元素没有得到选择,其内容被插入到文档中,而不是替换我的自定义标签的顶部。

这是TinyMce的错误,还是我做错了什么?请记住,这是我的插件缩小版本来演示问题。

回答

0

我不明白为什么你在这种情况下使用选择试试这个。

tinymce.each(editor.dom.select(tagName, node), function(element) { 
     if (element.parentNode) { 
      // BUG: For some reason, this is failing in IE 11 
      var dataContent = element.getAttribute('data-contents'); 
      element.outerHTML = dataContent.toString(); 
     } 
    }); 
+0

我已经能够使这种方法的工作。这种方法的问题是我必须手动启动所有事件(BeforeSetContent,SetContent)。现在情况良好,但如果他们改变实施方式,将会变得脆弱。 –