1

jQuery バージョンの TinyMCE を使用する場合、jQuery と TinyMCE の相互作用に問題があり、何度か報告され、解決されています。私が理解しているように、これには TinyMCE による jQuery attr() 関数の再定義が含まれます。

その結果、TinyMCE がページで使用されていない場合、次の while は属性値を返します。

var junk = $(this).attr('someAttribute');

TinyMCE が使用されている場合は、代わりにオブジェクトが返されます。

jQuery 1.7.2 と TinyMCE 3.5.2 でこの問題が発生しています。

他の誰かがこれに遭遇していますか?もしそうなら、回避策はありますか?

4

2 に答える 2

3

TinyMCE jquery のプラグインは、jQuery のattrメソッドを壊します (jQuery>=1.7.2.)。これは TinyMCE 3.5b3 で修正されています。

ご参考までに、報告されたTinyMCE バグ #5136修正プログラムを次に示します。

于 2012-09-26T02:37:24.787 に答える
0

この質問への回答を投稿していますが、誰かが別の解決策を持っている場合でも、ぜひ聞きたいです。

基本的に、Thariama のアドバイスを受けて、tinyMCE の jQuery ビルドの使用をやめました。代わりに、次のことを行いました。

    tinyMCE.init({
        mode: "specific_textareas",
        editor_selector: "tinymce",
        script_url: '@Url.Content("~/Scripts/tinymce/tiny_mce.js")',
        theme: "advanced",
        plugins: "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
        theme_advanced_buttons1: "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
        theme_advanced_buttons2: "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
        theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
        theme_advanced_buttons4: "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
        theme_advanced_toolbar_location: "top",
        theme_advanced_toolbar_align: "left",
        theme_advanced_statusbar_location: "bottom",
        theme_advanced_resizing: true,
        template_external_list_url: "lists/template_list.js",
        external_link_list_url: "lists/link_list.js",
        external_image_list_url: "lists/image_list.js",
        media_external_list_url: "lists/media_list.js",
        convert_urls: 0, // default 1
        content_css: '@Url.Content("~/Content/tinymce.css")'
    });

これは、StackOverflow の他の場所で見つけた提案された解決策に基づいていました。

tinyMCE の jQuery バージョンから変換する他のユーザーの参考までに、以前使用していたパラメーター リストに mode: および editor_selector: パラメーターを追加することを忘れないでください。そうしないと、すべてのテキストエリア コントロールを tinyMCE エディターに変換するという既定の動作が得られます。

また、ページのヘッダーに tinyMCE ライブラリを含める必要があります。私のアプリケーションでは、次のようになります。

<script src="@Url.Content("~/Scripts/tinymce/tiny_mce.js")" type="text/javascript"></script>

楽しみ!

于 2012-06-13T20:46:37.293 に答える