Ronald McDonald
Ronald McDonald

Reputation: 2911

tinymce is undefined

I'm trying to use tinymce in an ASP.NET content page. The code works when I run it in VisualStudio2008. When I deploy it to IIS I get a javascript error 'Error: 'tinyMCE' is undefined'

<script src="tinymce/jscripts/tiny_mce/tiny_mce.js" type="text/javascript"></script>
<script type="text/javascript">
tinyMCE.init({
        // General options
        mode : "textareas",
        theme : "advanced",
        plugins : "autolink,lists,spellchecker,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 options
        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,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true,

        // Skin options
        skin : "o2k7",
        skin_variant : "silver",

        // Example content CSS (should be your site CSS)
        content_css : "css/example.css",

        // Drop lists for link/image/media/template dialogs
        template_external_list_url : "js/template_list.js",
        external_link_list_url : "js/link_list.js",
        external_image_list_url : "js/image_list.js",
        media_external_list_url : "js/media_list.js",

        // Replace values for the template plugin
        template_replace_values : {
                username : "Some User",
                staffid : "991234"
        }
});
</script>


<textarea id="txtareaEmailEditor" name="content" rows="30" cols="100" runat="server" ></textarea>

EDIT: I ran firebug and looked under the net tab and it had

GET tiny_mce.js 503 Service Unavailable

UPDATE I moved the script to the application folder and that got rid of the 503 error but I still get the tinymce undefined error.

<script src="tiny_mce.js" type="text/javascript"></script>

here's my address in IIS http://svr-app-d1/MailServiceWeb/EmailTemplateEditor.aspx


I got some help from a senior dev here and he made these changes and it works now IIS -> ASP EnableParentPaths=true IIS -> Handler Mappings StaticFile enabled

Upvotes: 2

Views: 7654

Answers (2)

Ronald McDonald
Ronald McDonald

Reputation: 2911

I got some help from a senior dev here and he made these changes and it works now IIS -> ASP EnableParentPaths=true IIS -> Handler Mappings StaticFile enabled

Upvotes: 2

Justin M. Keyes
Justin M. Keyes

Reputation: 6974

The path tinymce/jscripts/tiny_mce/tiny_mce.js is relative to the page you are viewing. So, when you are viewing it locally, you are probably viewing it from a different path in IIS. Try using an absolute path instead:

/tinymce/jscripts/tiny_mce/tiny_mce.js

Updated answer after updated question:

I moved the script to the application folder ... <script src="tiny_mce.js" type="text/javascript"></script> My address in IIS is svr-app-d1/MailServiceWeb/EmailTemplateEditor.aspx

Use <script src="/tiny_mce.js" type="text/javascript"></script> instead. Notice the / at the front. This makes the path absolute.

Explanation:

When you accessed your page at svr-app-d1/MailServiceWeb/EmailTemplateEditor.aspx, it was looking for tiny_mce.js within the MailServiceWeb directory (which, as you know, is incorrect).

Upvotes: 2

Related Questions