tinyMCEエディターにHTMLコードを挿入するにはどうすればよいですか?

blogob

jsファイルには、変数に格納するhtmlコンポーネントのリストがあります。フロントエンドには、「コンポーネント」クラスと特定のIDを持つ複数のボタンがあります。

次に、各「.component」IDが特定のhtmlブロックに対応するようにスイッチ機能を実行しようとします。ボタンをクリックするたびに、htmlコードが変数「code」に保存/追加される必要があります。

そして最後の目標は、ボタンをクリックすると、対応するhtmlがtinyCMEエディターに挿入されるように関数を作成することです。

これは可能ですか?

これが私のコードの簡略版です。

function build_email(all_components) {
    

var brand_centered='\n'
    +'<tr>\n'
    +'  <td align="center" style="font-size:0; padding: 10px 0; background-color:#EDEEF6;" valign="top">\n'
    +'     <table border="0" cellpadding="0" cellspacing="0" role="presentation" width="100%">\n'
    +'        <tr>\n'
    +'           <td style="padding:10px 0;text-align: center"><img alt="" border="0" width="60" height="50" src="myimage.png" style="width:60px;height:50px"></td>\n'
    +'        </tr>\n'
    +'     </table>\n'
    +'  </td>\n'
    +'</tr>\n'
    etc...


var total_components = component_list.length;
for (var i = 0; i <= total_components - 1; i++) {
    switch (component_list[i]) {
        case "add-brand-centered" :
        code += brand_centered;
        break;
        case "add-brand-left" :
        code += brand_left;
        break;
        etc...
    }   
}

$('.component').each(function(){

    tinymce.activeEditor.setContent(code);
})

nonameyet

setContent()およびgetContent()関数を試してください。

たとえば、1つのボタンと1つのテキストエリアを使用します。

<button type="button" id="add">Add components</button>
<textarea></textarea>

そして、このJS / Jqueryコード:

tinymce.init({
  selector: 'textarea',
  setup: function(editor) {
    editor.on('init', function(e) {
      tinymce.activeEditor.setContent("<b>Hello world</b>");
    });
  }
});


var header = '<div class="display-1">Header</div>';
var body = '<div class="container">body</div>';
var footer = '<div class="footer">footer</div>';
var myComponents = [header,footer,footer];

document.getElementById('add').addEventListener('click', function(){
  let oldContent = tinymce.activeEditor.getContent();
  for(let i = 0; i < myComponents.length; i++){
    oldContent += myComponents[i];
  }
  tinymce.activeEditor.setContent(oldContent);
});

編集部分

わかりました。常に同じフッターと同じヘッダーがあります。追加されたすべてのカスタムパーツを追跡するための配列を作成できます。

var myComponents = [];

そして、3つの新しいボタン(add-1、add-2、add-3)があります。

var custom1 = "<p>Hello</p>";
var custom2 = "<span>Hello world</span>";
var custom3 = "<b>Strong</b>";

document.getElementById('add-1').addEventListener('click', function(){
      myComponents.push(custom1);
      updateEdition();
    });
document.getElementById('add-2').addEventListener('click', function(){
          myComponents.push(custom2);
          updateEdition();
        });
document.getElementById('add-3').addEventListener('click', function(){
          myComponents.push(custom3);
          updateEdition();
        });

エディションを更新するための新しい関数を作成しました。

function updateEdition(){
          let edition = header;
          for(let i = 0; i < myComponents.length; i++){
            edition += myComponents[i];
          }
          edition += footer;
          tinymce.activeEditor.setContent(edition);
}

エディションが終了したら、tinymce.activeEditor.save()を呼び出して、テキストをhtmlドキュメントに保存します。たとえば、フォームを使用している場合は、Submitイベントでsave()を呼び出します。

TinyMCE.cloudからのその他の例:

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

MySQLデータベースにデータを挿入するにはどうすればよいですか?

データベースLaravelにデータを挿入するにはどうすればよいですか?

NEWID()/ GUID / UUIDをコードエディタに挿入するにはどうすればよいですか?

JavaでPreparedStatementを使用してmySqlデータベースに日時フィールドを挿入するにはどうすればよいですか?

分度器を使用してモナコエディタにコードを挿入するにはどうすればよいですか?

Monacoエディターにテキストを挿入するにはどうすればよいですか?

SAP HANAデータベースに最後に挿入されたレコード識別子を取得するにはどうすればよいですか?

コードにCALLBACKコードを挿入するにはどうすればよいですか

Joditエディターでアップロードした画像を正しく挿入するにはどうすればよいですか?

HTMLコードをPHP正規表現に挿入するにはどうすればよいですか?

Slonikを使用してpostgresデータベースに複数のレコードを挿入するにはどうすればよいですか?

条件に基づいてLinuxコマンドを使用してデータに行を挿入するにはどうすればよいですか?

Linuxテキストエディタに文字コードを挿入するにはどうすればよいですか?

USBスティック/デバイスをLinuxコンピューターに安全に挿入するにはどうすればよいですか?

mysql SETタイプのレコードを挿入するにはどうすればよいですか?

データベース内の複数のテーブルにレコードを挿入するにはどうすればよいですか

PHPでHTMLエンティティをデコードするにはどうすればよいですか?

JavaScriptコードをHTMLに挿入するにはどうすればよいですか

djangoフォームフィールドの属性をHTMLコードに挿入するにはどうすればよいですか?

データマトリックスのディメンションをコード行に挿入するにはどうすればよいですか?

カーソルがあるTinyMCEエディターにテキストを挿入するにはどうすればよいですか?

TinyMCEエディターでプログラムでhtmlタグを追加するにはどうすればよいですか?

挿入クエリから `created_at`、` updated_at`を削除するにはどうすればよいですか(モデルレコードを作成するとき)?

挿入句を使用せずにデータを挿入するにはどうすればよいですか?

Visual Studio 2019で、Enterキーを押したときに改行を挿入しないようにVB.NETコードエディターのIntelliSenseを構成するにはどうすればよいですか?

別の「挿入」クエリで「レコード」タイプの変数のフィールドを使用するにはどうすればよいですか?

条件に基づいてデータフレームにレコードを集約して挿入するにはどうすればよいですか?

データベースからdjangoテンプレートにhtmlコードを挿入するにはどうすればよいですか?

コードのデータベースレイヤーにロガーを適切に挿入するにはどうすればよいですか?

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    どのように関係なく、それがどのように「悪い」、すべてのSSL証明書でのHttpClientを使用しないように

  3. 3

    Modbus Python Schneider PM5300

  4. 4

    Ansibleで複数行のシェルスクリプトを実行する方法

  5. 5

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  6. 6

    System.Data.OracleClient.OracleException:ORA-06550:行1、列7:

  7. 7

    インデックス作成時のドキュメントの順序は、Elasticsearchの検索パフォーマンスを向上させますか?

  8. 8

    scala.xmlノードを正しく比較する方法は?

  9. 9

    NGX-ブートストラップ:ドロップダウンに選択したアイテムが表示されない

  10. 10

    Elasticsearch - あいまい検索は、提案を与えていません

  11. 11

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  12. 12

    Elasticsearchの場合、間隔を空けた単語を使用したワイルドカード検索

  13. 13

    Elasticsearchでサーバー操作を最適化:低いディスク透かしに対処する

  14. 14

    ラベルとエントリがpythontkinterに表示されないのはなぜですか?

  15. 15

    変数値を含むElasticSearch検索結果

  16. 16

    グラフ(.PNG)ファイルをエクスポートするZabbix

  17. 17

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  18. 18

    Audacity:プロジェクトではなく、サウンドファイルのみを保存します

  19. 19

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  20. 20

    Excelは、メモ帳データの複数の列を1つの列として解釈します

  21. 21

    ブラウザがHTMLテンプレートを解釈しない

ホットタグ

アーカイブ