2013-10-17 56 views
3

由於我在javascript和jquery方面缺乏知識,所以無法用Redactor解決這個看似簡單的問題。

問題:我無法將任何文本粘貼到我的編輯器所見即所得編輯器(使用ctrl v也沒有使用鼠標右鍵)。

當我嘗試粘貼文本編輯器,我的螢火控制檯顯示我的js錯誤:

TypeError: $.parseHTML is not a function 
    var $html = $('<div>').append($.parseHTML(html)); 

所以我想一定有什麼錯用jQuery,在jQuery包含$.parseHTML功能。爲了確保我檢查了jquery和jquery.ui已導入,並且我使用的是最新版本,這似乎都是如此。

編輯:這是我的<head> js文件導入的一塊html。也許這些包含的順序是導致問題的原因?

<script src="/assets/8cf5dd34/jquery.js" type="text/javascript"> 
<script src="/assets/b52d4639/redactor.js" type="text/javascript"> 
<script src="/assets/b52d4639/lang/nl.js" type="text/javascript"> 
<script src="/assets/8cf5dd34/jui/js/jquery-ui.min.js" type="text/javascript"> 

Here is a example of the editor if you want to check it out.

BTW:我使用的是Yii框架。使用編輯器的代碼如下:

<?php echo $form->textArea($model,'text',array('class'=>'redactor')); ?> 

<?php 
    $this->widget('ImperaviRedactorWidget', array(
     // The textarea selector 
     'selector' => '.redactor', 
     // Some options, see http://imperavi.com/redactor/docs/ 
     'options' => array(
      'lang'=>'nl', 
      'buttons'=>array('formatting', '|', 'bold', 'italic', 'deleted', '|', 'alignment', '|', 'unorderedlist', 'orderedlist', 'outdent', 'indent', '|', 'horizontalrule', '|', 'table', 'link', 'image', '|', 'copy', 'paste'), 
      'shortcuts'=>true, 
     ), 
    )); 
?> 

任何人有什麼想法?任何幫助是極大的讚賞。

+0

你能用JavaScript控制檯在你的編輯器中插入文本嗎?像這樣:'$('#redactor')。redactor('insertHtml','your code');' – EpokK

+0

我得到完全相同的錯誤:'TypeError:$ .parseHTML不是函數。在此期間,我嘗試更新jquery,重新載入用於編輯器的yii小部件。 – deacs

+0

'$('#redactor')。redactor({cleanup:false})'會修復IE粘貼選項,但粘貼後會變髒。我不知道有更好的解決方案。 –

回答

7

Redactor需要jQuery 1.8或更高版本(我使用的是1.7.2,並且在更新jQuery之前得到了與您相同的錯誤)。你可以通過輸入$ .fn.jquery查詢(ha!)你的版本;在瀏覽器的控制檯。

如果您使用rails,那意味着擁有2.1或更高版本的jquery-rails gem。我現在有這在我的Gemfile:

gem 'jquery-rails', '2.1.4' 

省略版本參數將導致的jQuery 1.7.2,而不是最新的(至少,這就是發生在我身上)。

+1

來這裏之前嘗試了一些東西,這對我來說是固定的。 –

0

我得到了相同的錯誤信息,因爲我使用的是舊版本的框架。我將我的框架更改爲1.1.14,現在它可以工作!

相關問題