当前位置 : 主页 > 网页制作 > JQuery >

无法将文本粘贴到Redactor WYSIWYG编辑器中. jQuery:$.parseHTML不是一个函数

来源:互联网 收集:自由互联 发布时间:2021-06-15
由于我在 javascript和jquery方面缺乏知识,我无法用Redactor解决这个看似简单的问题. 问题:我无法将任何文本粘贴到我的编辑器WYSIWYG编辑器中(使用ctrl v或使用鼠标右键). 当我尝试将文本粘
由于我在 javascript和jquery方面缺乏知识,我无法用Redactor解决这个看似简单的问题.

问题:我无法将任何文本粘贴到我的编辑器WYSIWYG编辑器中(使用ctrl v或使用鼠标右键).

当我尝试将文本粘贴到编辑器中时,我的firebug控制台向我显示了js错误:

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

所以我认为jquery肯定有问题,因为jquery包含$.parseHTML函数.为了确保我检查了jquery和jquery.ui是否已导入并且我正在使用最新版本,这似乎都是这种情况.

编辑:这是我的< head>中的html片段导入js文件的位置.也许包含这些的顺序导致问题?

<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.

顺便说一句:我正在使用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,
        ),
    ));
?>

有人有什么想法吗?任何帮助是极大的赞赏.

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而不是最新版本(至少,这就是发生在我身上的事情).

网友评论