【问题标题】:Unable to paste text into Redactor WYSIWYG editor. jQuery: $.parseHTML is not a function无法将文本粘贴到 Redactor 所见即所得编辑器中。 jQuery:$.parseHTML 不是函数
【发布时间】:2013-10-17 08:40:40
【问题描述】:

由于我对 javascript 和 jquery 缺乏了解,我无法用 Redactor 解决这个看似简单的问题。

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

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

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

所以我认为jquery一定有问题,因为jquery包含$.parseHTML函数。可以肯定的是,我检查了 jquery 和 jquery.ui 是否已导入,并且我使用的是最新版本,这一切似乎都是如此。

编辑:这是我的 &lt;head&gt; 中导入 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.

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

有人有什么想法吗?非常感谢任何帮助。

【问题讨论】:

  • 你能用javascript控制台在你的编辑器中插入文本吗?像这样:$('#redactor').redactor('insertHtml', 'your code');
  • 我得到了完全相同的错误:TypeError: $.parseHTML is not a function。与此同时,我尝试更新 jquery,重新下载 yii 小部件以供 redactor。
  • $('#redactor').redactor({cleanup: false}) 将修复 IE 粘贴选项,但之后粘贴会变脏。我不知道有更好的解决方案。

标签: jquery yii wysiwyg redactor


【解决方案1】:

Redactor 需要 jQuery 1.8 或更高版本(我使用的是 1.7.2 并且在更新 jQuery 之前遇到了与您相同的错误)。您可以通过键入 $.fn.jquery 来查询(哈哈!)您的版本;在浏览器的控制台上。

如果您使用的是 rails,则意味着拥有 2.1 或更高版本的 jquery-rails gem。我现在在我的 Gemfile 中有这个:

gem 'jquery-rails', '2.1.4'

省略版本参数将导致 jQuery 1.7.2 而不是最新版本(至少,这就是发生在我身上的事情)。

【讨论】:

  • 在来这里之前尝试了一些事情,这对我来说是固定的。
【解决方案2】:

我收到了同样的错误信息,因为我使用的是旧版本的框架。我将我的框架更改为 1.1.14,它现在可以工作了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-25
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多