2012-03-05 4 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>'); 
}); 

ただし、これは機能しません。私は、javascriptをデバッグしようとしましたが、私はそこに問題を抱えています(少なくともChromeの開発ツールでは)。

エラーメッセージはありません。入力されたコンテンツはありません。私は{format: 'raw'}をtinyMCEの文書で提案されているように使ってみましたが、そこには運がありません。

私は他の誰かがこれをやろうとしていて、成功したと思っています。

+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です – Thariama

1

ハイライトプラグインはわかりませんが、エディタのiframeに特別なスタイルシートが挿入されていると思います。これにより、特別なhtmlタグa.s.oのスタイリング(強調表示)が行われます。 この場合、コンテンツには影響はありません。

強調表示されたコンテンツをこのプラグインと同じように表示することはできません。

+0

お返事ありがとうございます。申し訳ありませんが、私は本当に理解していません。私は任意の有効なhtmlで 'setContent'を実行できると思いましたか?私はスタイリングを編集者の中で働かせるつもりはない。私は 'setContent'エディタが以前に作ったhtmlをしようとしています。上記のコードに問題がありますか? –

+0

デフォルト設定のvalid_elementsとvalid_childrenを持つprobl3emが存在する可能性があります。この設定を調整する方法については、tinymceドキュメントを参照してください。 – Thariama

+0

ありがとうございます。私はそれらをチェックアウトします。私は現時点で設定されているすべてのデフォルトを持っています。 –

関連する問題