4

javascript と jquery に関する知識が不足しているため、この一見単純な問題を Redactor で解決することはできません。

問題: リダクターの WYSIWYG エディターにテキストを貼り付けることができません (ctrl v またはマウスの右ボタンを使用)。

テキストをエディターに貼り付けようとすると、firebug コンソールに js エラーが表示されます。

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

$.parseHTMLjqueryには関数が含まれているため、jqueryに何か問題があるに違いないと思いました。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">

確認したい場合は、エディターの例を次に示します。

ところで: 私は 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,
        ),
    ));
?>

誰にもアイデアはありますか?どんな助けでも大歓迎です。

4

2 に答える 2

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'

version 引数を省略すると、最新ではなく jQuery 1.7.2 になります (少なくとも、それが私に起こったことです)。

于 2013-10-21T21:00:31.823 に答える
0

古いバージョンのフレームワークを使用しているため、同じエラー メッセージが表示されました。フレームワークを 1.1.14 に変更したところ、動作するようになりました!

于 2013-10-28T11:16:22.100 に答える