2012-03-05 3 views
3

나는 몇 시간 동안이 일에 매달려 있었고 도움이 될 것입니다. syntaxhl 플러그인을 syntaxhighlighter 2.1.382로 사용하여 tinyMCE을 사용하고 있습니다.tinyMCE setContent가 구문 강조 표시된 코드로 작동하지 않습니다.

모든 것이 강조 표시되지 않은 코드에서 효과적입니다. 그러나 강조 표시된 코드로 setContent을 사용하면 기쁨을 얻지 못합니다. 나는 여기서 볼 수없는 명백한 것이있을 것으로 기대하고있다.

$(window).load(function() { 
    tinyMCE.activeEditor.setContent('<p>here is some code:</p> 
    <pre class="brush: jscript;fontsize: 100; first-line: 1; ">var fs = require("fs"); 

    module.exports = function(app, service){ 
     fs.readdir(__dirname + "/controllers", function(err, files){ 
      if (err) throw err; 
      files.forEach(function(file){ 
       var name = file.replace(".js", ""); 
       require("./controllers/" + name)(app, service); 
      }); 
     }); 
    };</pre>'); 
}); 

그러나 이것은 작동하지 않습니다. 나는 자바 스크립트를 디버깅하려했지만, (적어도 크롬 개발자 도구를 사용하여) 거기에 문제가있다.

채워진 콘텐츠가 없습니다. 오류 메시지가 없습니다. 나는 tinyMCE 문서에서 제안한대로 {format : 'raw'}를 사용하려했지만 거기에는 운이 없다.

나는 다른 누군가가 이것을 시도하고 성공하기를 바라고 있습니다.

+0

간단한 질문 - 질문에서 예제를 사용하려고합니까 아니면 추상적 인 예입니까? JS는 여러 줄을 사용자가 작성한 방식으로 지원하지 않습니다. – Cheery

+0

예입니다. 그러나 pre 태그 내부의 코드가 될 수 있어야합니다. –

답변

1

불행히도 위의 코드는 작동하지 않습니다. 나는 <pre> 태그가 브라우저에서 인계 받아야하고 물건을 엉망으로 처리해야한다고 생각합니다. 또한, 나는 아직도 해를 끼치는 줄 바꿈에 대해 약간 모호하다. @ Thariama는 훌륭한 도움말이었습니다. 그러나 extended_valid_elements, valid_elements, valid_children에 대한 모든 문서를 읽고 tinyMCE init을 여러 가지 방법으로 구성한 후에는 제대로 작동하지 않았습니다.

그러나 나는 나를위한 해결책을 찾았습니다. html (<pre> 태그가 &lt;pre class=&quot;brush: bash;fontsize: 100; first-line: 1; &quot;&gt;이 됨)으로 직접 <textarea>을 설정하면 제대로 작동합니다. 이 기능이 작동 중이며 tinyMCE가 초기화 된 후에 setContent을 수행해야 할 필요가 없어지면이 기능이 작동합니다.

구문 강조 표시가 제대로 작동합니다. 다른 사람들이 똑같이하고 싶다면 주위를 둘러 보면서 this link을 보았습니다.

+0

yepp, 텍스트로 입력 한 '<'가 엔티티로 처리되기 때문에 +1됩니다. +1 – Thariama

1

필자는 하이라이트 플러그인을 모르지만 편집자 iframe 헤드에 특별한 스타일 시트를 삽입한다고 생각합니다. 이것은 특수 html 태그 a.s.o의 스타일 (강조 표시)로 연결됩니다. 이 경우 내용은 영향을받지 않으며 변경되지 않습니다.

강조 표시된 컨텐츠를이 플러그인과 같이 표시 할 수 없습니다.

+0

응답 해 주셔서 감사합니다. 미안, 나는 정말로 이해하지 못한다. 나는 어떤 유효한 HTML에 대해서도'setContent'를 할 수있을 것이라고 생각했다. 나는 스타일을 편집자 내부에서 처리하려고하지 않습니다. 나는'setContent'를 편집자가 이전에 만든 html로 만들려고합니다. 위의 코드에 문제가 있습니까? –

+0

기본 설정이 valid_elements 및 valid_children 인 probl3em이있을 수 있습니다. 이 설정을 조정하는 방법에 대한 자세한 내용은 주석 문서를 확인하십시오. – Thariama

+0

감사합니다. 나는 그들을 체크 아웃 할 것이다. 나는 모든 기본값을 지금 설정했습니다. –

관련 문제