【发布时间】: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 是否已导入,并且我使用的是最新版本,这一切似乎都是如此。
编辑:这是我的 <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.
顺便说一句:我正在使用 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