coldfusion - TinyMCEエディター(3.x)でWord 2015から貼り付けるとフォーマットが変更される

原文 coldfusion tinymce

適切にフォーマットされたWord文書の内容をコピーすると、H1タグ、3つの段落、URLリンク、および電子メールリンクが含まれ、太字や斜体の単語がいくつか含まれます。以下は私のinitファイルです。

    tinyMCE.init({
    // General options
    mode : "exact",
    elements : "content",
    theme: "advanced",
    //plugins : "safari,pagebreak,advhr,advimage,advlink,iespell,insertdatetime,preview,paste,fullscreen",
    plugins : "pagebreak,style,advlink,iespell,insertdatetime,preview,print,contextmenu,paste,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups",
    plugin_preview_width : "500",
    plugin_preview_height : "600",
    // Theme options
    theme_advanced_buttons1:"cut,copy,paste,pasteword,|,undo,redo,|,bold,italic,underline,|,forecolor,backcolor|,justifyleft,justifycenter,justifyright,|,bullist,numlist,|fullscreen,code,iespell,imageButton,preview",
    theme_advanced_disable : "help,removeformat,sub,sup,anchor,link,unlink,image,|,insertdate,inserttime,advhr,print",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    paste_auto_cleanup_on_paste: false,
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "center",
    valid_elements : "*[*]",
    convert_urls:true,
    cleanup : false          
});


次のコンソールコマンドを実行すると、「html」コードが表示されます。また、ツールバーのHTMLアイコンをクリックすると、そこにもHTMLコードが表示されます(ただし、最初のタグを除くすべてのH1タグが削除されます)。

// Get the HTML contents of the currently active editor
console.debug(tinyMCE.activeEditor.getContent());

// Get the raw contents of the currently active editor
tinyMCE.activeEditor.getContent({format : 'raw'});

// Get content of a specific editor:
tinyMCE.get('content').getContent()


[送信]ボタンをクリックすると、アクションページに表示されるのは単純なcfdumpだけであり、そこにはプレーンテキストとパラグラフ以降のジャイアントがあります。 Pタグはなく、H1タグではなく、プレーンテキストのみです。

<cfdump var="#form.content#">
<cfoutput>
    #form.content#
    <textarea>#form.content#</textarea>
</cfoutput>


にやにや笑うために、アクションページでform.contentをMSSQLデータベースにnvarchar(2000)のデータ型で挿入して、ブラウザーがゲームをプレイしていて、データベースにもプレーンテキストしか表示されていないかどうかを確認しました。別の異常は、Chromeでテストページを実行すると、プレーンテキストのみが保存されることです。 FireFoxでテストページを実行すると、Microsoft XMLデータが保存されます。

動作するブラウザは1つだけです。誰かがこれについて何らかのガイダンスを提供できますか?
答え
お奨めのスパゲッティコード。

私が見逃したいくつかのロジックがあり、それは見逃したブラウザのチェックを行っていたため、問題はtinymceではなくfckeditorに関するものでした。

/以下からスニペットを開始:http://ckeditor.com/forums/Support/FCK-Link-picker-errors-FF-3

FCK 2.3.2でも同じ問題が発生しました。最善の解決策は、fckeditorcode_gecko.jsのCreateLink関数を変更することです。
私が持っていた古いコード:

FCK.CreateLink=function(A){FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=document.evaluate("//a[@href='"+B+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (C){C.href=A;return C;}}};

新しいコード:

FCK.CreateLink=function(A){FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=this.EditorDocument.evaluate("//a[@href='"+B+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (C){C.href=A;return C;}}};

実際、私はdocument.evaluateをthis.EditorDocument.evaluateに置き換えただけです。

/終了スニペット
関連記事

coldfusion - リクエストが許容時間制限を超えましたタグ:CFQUERY

coldfusion - ColdFusion-キャッシュされたCFCが更新されない

coldfusion - cfdocumentをテーブルでスケール

coldfusion - サインアップするユーザーごとにサブドメインを作成する

utf-8 - Coldfusion 11とPDFドキュメントを使用してLatin 1文字を正しくレンダリングする方法

java - `java.lang.ProcessBuilder`で引数付きのシェルコマンドを実行する

coldfusion - CFLOGINによって吹き飛ばされたURLパラメータ?

javascript - CryptoJSでのAES暗号化とColdfusionでの復号化

hibernate - Coldfusion ORM:キャッシュ構成でのエラー

mysql - MySQLデータベースを暗号化してColdfusionで使用する方法