2013-06-03 48 views
7

一直在處理此錯誤2天,無法使TinyMCE正常工作。我使用的是TinyMCE的jQuery版本。以下是我的HTML代碼,其中包含一個textarea。我使用谷歌檢查元素,並在控制檯標籤下,我得到以下錯誤:「未捕獲的ReferenceError:tinymce未定義」。任何幫助,將不勝感激。TinyMCE未定義Jquery

<form id="add_update_form" action="" method="POST" title="Add Blog"> 

<p class="feedback"></p> 

<!-- <label>Created:</label> 
<input type="text" name="created"> --> 

<label>Title:</label> 
<input type="text" name="title" class="input-block-level"> 

<label>Content:</label> 
<textarea width="100%" rows="10" cols="10" name="content" class="input-block-level"></textarea> 

<div class="clear"></div> 

</form> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script> 
<script src="<?php echo base_url();?>js/portal/tinymce/jquery.tinymce.min.js"></script> 
<script type="text/javascript"> 
tinymce.init({ 
selector: "textarea", 
plugins: [ 
    "advlist autolink lists link image charmap print preview anchor", 
    "searchreplace visualblocks code fullscreen", 
    "insertdatetime media table contextmenu paste moxiemanager" 
], 
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image" 
}); 
</script> 
+0

調試控制檯上是否有任何錯誤?另外,請嘗試使用jquery的本地副本而不是cdn。 – Jasen

+0

是調試控制檯錯誤是「Uncaught ReferenceError:tinymce未定義(匿名函數)」。我嘗試了本地和cdn沒有成功。 – gustavo

+0

JS文件實際加載了嗎?檢查瀏覽器中開發工具中的網絡選項卡。 – Snixtor

回答

5

當你正在使用jQuery的版本,你需要設置它就像一個jQuery插件

$(function() { 
    $('textarea.tinymce').tinymce({ 
    ... 
    }); 
}); 

http://www.tinymce.com/tryit/3_x/jquery_plugin.php

+0

謝謝修復了錯誤,沒有意識到我不得不像插件一樣使用它。 – gustavo

+1

是的,他們的文檔顯示不一致 – Jasen

2

看來,TinyMCE js文件沒有加載。相反的:

<script src="<?php echo base_url();?>js/portal/tinymce/jquery.tinymce.min.js"></script> 

嘗試以下操作:

<script src="//cdn.jsdelivr.net/tinymce/4.0b2/jquery/jquery.tinymce.min.js" type="text/javascript"></script> 
+0

我仍然收到相同的錯誤。不知道爲什麼tinymce jquery文件沒有加載。 – gustavo

4

我看着這個頁面:http://www.tinymce.com/tryit/3_x/jquery_plugin.php and clic ked選項卡「查看源代碼」並注意到了一些問題。

如果您正在使用TinyMCE的爲jQuery插件,有額外的參數需要SCRIPT_URL,所以你的代碼應該是這樣的:

$('textarea.tinymce').tinymce({ 
    script_url: 'js/portal/tinymce/tinymce.min.js', 
... 

其他的解決辦法是使用非jQuery的版本:

<script src="<?php echo base_url();?>js/portal/tinymce/tinymce.min.js"></script> 

,然後用老方法來初始化TinyMCE的(如在初始代碼):

tinymce.init({ 
    selector: "textarea", 
...