2017-02-27 6 views
0

일부 스타일 속성과 함께 tinymce에 새 div를 추가하고 div 또는 선택한 노드의 기존 스타일 속성을 가져 오는 맞춤 검색 버튼을 만들었습니다. 새 div를 삽입하는 데 tinymce.executeCommand()를 사용했습니다. javascript를 사용하여 모든 속성을 설정 한 후 기존 div 스타일을 변경하려면 tinymce.save() 메소드를 호출해야합니다. 그러나 tinymce의 내용을 tinymce.getContent() 메서드를 사용하여 가져 오면 업데이트 된 내용이 아닌 이전 내용이 반환됩니다. 여기스타일 속성이 주석으로 업데이트되지 않았습니다.

는 코드 - plugin.js

editor.addButton ('divstyles', { 
    title: 'Paragraph Styles', 
    image: icon, 
    onclick: function() { 
     // Open window 
     editor.windowManager.open({ 
      title: "Paragraph Styles (div)", 
      id: 'paragraphStyleDiv', 
      url: path, 
      width: 443, 
      buttons: [{ 
       text: 'Apply', 
       onclick: 'submit' 
      }, { 
       text: 'Cancel', 
       onclick: 'close' 
      }], 
      onsubmit: function(ed, e) { 

      var currentNode, newDiv, data, styles, node, isIgnoredTagAvailable = false, 
       ancestorNode; 

       node = tinyMCE.activeEditor.selection.getNode(); 
       setStylesProperty(node); 
       tinyMCE.activeEditor.save(); 

      } 
      tinymce.activeEditor.windowManager.close(); 
     } 
    }); 
} 

});

누구든지 나를 도울 수 있습니까? 나는 그것을 봤지만 어떤 해결책도 찾지 못했다. 미리 감사드립니다.

답변

0

안녕하십니까? setstylesProperty 함수는이 코드를 공유 할 수 있습니까? 사용 하시겠습니까 editor.dom.setStyle 기능을 사용하고 있습니까?

+0

안녕하세요 m.kerkeni, 실제로 솔루션을 가지고 setStylesProperty 이전에 스타일 속성을 설정하는 중 - ** node.style. **. 하지만 나중에 - ** node.dataset.mceStyle = node.getAttribute ('style') ** 을 사용하여이 문제가 해결됩니다. 어쨌든 고맙습니다. :) –

+0

Ok 니티카 좋다. tinyMce dev은 작은 코어에서 미리 정의 된 기능을 사용하려고합니다. 예제 ** 편집기에서. dom. setStyle **은이 속성이 ** style ** 및 ** data-mce-style ** 속성을 모두 변경하기 때문에 문제를 해결합니다. –

+0

그래, 나도 당신의 솔루션을 시도했다, 그리고 나를 위해 잘 작동, 너무 많이 @ m.kerkeni 감사합니다 :) –