微小的MCE - 未捕获的TypeError:无法调用null的方法'on'

时间:2013-07-25 12:24:53

标签: javascript asp.net tinymce episerver commerce

我正在尝试使用控件在Episerver Commerce Manager上显示tinyMCE。

<%@ Control Language="C#" AutoEventWireup="true" 

    src="tinyMCE.ascx.cs"Inherits="Module_Editors_TinyMCE_EditorControl" %>
    <script type="text/javascript" 

    src="//ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
        <script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
        <script>
            tinymce.init({
                selector: 'textarea',
                mode: "exact",
                            theme_advanced_buttons1: "fontselect,fontsizeselect,|,forecolor,backcolor,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,outdent,indent,blockquote,|,cut,copy,paste,pastetext,pasteword",
                            theme_advanced_buttons2: "",
                            theme_advanced_buttons3: "",
                            theme_advanced_toolbar_location: "top",
                            theme_advanced_toolbar_align: "left",
            });

</script>
  <textarea runat="server" id="HtmlTextBoxCtrl" name="editor" cols="50" rows="15">My Text.</textarea>

当我使用运行代码时,我收到以下错误:

Uncaught TypeError: Cannot call method 'on' of null 

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用以下控制并将TinyMCEEditor.dll复制到Commerce Manager站点中的\ bin文件夹。

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EditorControl.ascx.cs" Inherits="TinyMCEEditor.EditorControl" %>
<script language="javascript" type="text/javascript" src="../../Core/Controls/Editors/tiny_mce/tiny_mce.js"></script>
<script src="../../Core/Controls/Editors/tiny_mce/plugins/FileManager/js/jquery-1.4.2.min.js" type="text/javascript"></script>    
<script type="text/javascript"> 
tinyMCE.init({ 
// General options 
mode: "textareas", 
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,wordcount,advlist",
file_browser_callback : "filebrowser",
setup: function(ed) { 
ed.onKeyPress.add( 
function(ed, evt) { 
} 
); 
}, 
// Theme options 
theme_advanced_buttons1: "bold,italic,underline,|,charmap,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2: "cut,copy,paste,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,cleanup,code,|,preview", 
theme_advanced_buttons3: "tablecontrols", 
theme_advanced_buttons4: "", 
theme_advanced_toolbar_location: "top", 
theme_advanced_toolbar_align: "left", 
theme_advanced_statusbar_location: "bottom", 
theme_advanced_resizing: true, 
// Example content CSS (should be your site CSS) 
content_css: "css/content.css", 
// Drop lists for link/image/media/template dialogs 
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", 
// Style formats 
style_formats: [ 
{ title: 'Bold text', inline: 'b' }, 
{ title: 'Red text', inline: 'span', styles: { color: '#ff0000'} }, 
{ title: 'Red header', block: 'h1', styles: { color: '#ff0000'} }, 
{ title: 'Example 1', inline: 'span', classes: 'example1' }, 
{ title: 'Example 2', inline: 'span', classes: 'example2' }, 
{ title: 'Table styles' }, 
{ title: 'Table row 1', selector: 'tr', classes: 'tablerow1' } 
], 
// Replace values for the template plugin 
template_replace_values: { 
username: "Some User", 
staffid: "991234" 
}
}); 

function filebrowser(field_name, url, type, win) {

    fileBrowserURL = "../FileManager/Default.aspx?sessionid=<%= Session.SessionID.ToString() %>";

    tinyMCE.activeEditor.windowManager.open({
        title: "Ajax File Manager",
        url: fileBrowserURL,
        width: 950,
        height: 650,
        inline: 0,
        maximizable: 1,
        close_previous: 0
        }, {
        window: win,
        input: field_name,
        sessionid: '<%= Session.SessionID.ToString() %>'
        }
    );
}
</script>
<script type="text/javascript" language="javascript">
    $(".ajax__htmleditor_editor_toptoolbar").each(function (index) {
        $(this).html($(this).html() + "<img onclick=showImgManager('" + index + "') src='../FileManager/icons/img-add-32.png' class='ajax__htmleditor_toolbar_button' /><img onclick=showFileManager('" + index + "') src='../FileManager/icons/Files-add-32.png' class='ajax__htmleditor_toolbar_button' /><div style='display:none;float:left;width:100%;padding-top:5px;' id='divImgManager" + index + "'></div>");
    });
    function openFileManager(index) {
        window.open("../FileManager/Default.aspx?sessionid=<%= Session.SessionID %>&input=" + index, "myWindow", "status = 1, height = 650, width = 950, resizable = 0")
    }

</script>
<textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 40%" 
runat="server"></textarea>