Javascript 为什么TinyMCE AJAX集成可以工作9/10次?
我有一个TinyMCE实现,大约80-90%的时间都能工作,但对于最后一个百分比,编辑器的内容无法填充-因为缺少更好的措辞 实际上,在页面加载时,jqueryajax调用会到达从我的数据库中获取一些内容的PHP页面。检索时,我将TinyMCE实例的值设置为响应的内容。我已经对此进行了几轮讨论,首先是一个自定义AJAX构建,最近是一个jQuery构建。在这两种情况下,我得到的结果都差不多——编辑器加载,内容从服务器返回,每隔一段时间,文本区域就会变成空白 最新的尝试比之前的尝试要短得多,但无论如何,我最终还是得到了同样的结果。我还尝试在加载内容后重新绘制TinyMCE实例,但没有效果 即使在发生故障的情况下,两个控制台日志的结果都是相同的——以及来自我的服务器的预期响应。因此,正在设置值,但内容不可见Javascript 为什么TinyMCE AJAX集成可以工作9/10次?,javascript,jquery,ajax,tinymce,Javascript,Jquery,Ajax,Tinymce,我有一个TinyMCE实现,大约80-90%的时间都能工作,但对于最后一个百分比,编辑器的内容无法填充-因为缺少更好的措辞 实际上,在页面加载时,jqueryajax调用会到达从我的数据库中获取一些内容的PHP页面。检索时,我将TinyMCE实例的值设置为响应的内容。我已经对此进行了几轮讨论,首先是一个自定义AJAX构建,最近是一个jQuery构建。在这两种情况下,我得到的结果都差不多——编辑器加载,内容从服务器返回,每隔一段时间,文本区域就会变成空白 最新的尝试比之前的尝试要短得多,但无论如何
function LoadAgenda()
{
$.ajax(
{
url: 'http://www.example.com/agenda.php?AgencyID=' + AgencyID + '&date=' + AgendaDate,
cache: false,
dataType: 'html'
})
.done(function(Response)
{
console.log(Response);
$('#AgendaContent').val(Response);
tinyMCE.execCommand("mceRepaint");
console.log($('#AgendaContent').val());
});
}
最后,为了记录在案,我使用TinyMCE 4.1.6
如果有人需要更多的信息,我很乐意效劳。首先会发生什么?编辑器正在加载还是ajax调用正在完成?如果您的ajax调用是在加载编辑器之后进行的,我认为.val()不起作用,因为在TinyMCE初始化它之后,它不再是一个简单的文本区域。试试这个:
- 只进行ajax调用
- 将.val()更改为
- 只进行ajax调用
- 将.val()更改为
- 首先发生什么?编辑器正在加载还是ajax调用正在完成?如果您的ajax调用是在加载编辑器之后进行的,我认为.val()不起作用,因为在TinyMCE初始化它之后,它不再是一个简单的文本区域。试试这个:
setData()
方法以相反的方式进行操作。我对tinyMce API不像对其他编辑器那样熟悉,因此函数名可能不正确,您可能还需要以特定实例为目标,并尝试使用tinyMce的setData()
方法以相反的方式进行操作。我对tinyMce API不像对其他编辑器那样熟悉,因此函数名可能不正确,您可能还需要针对特定实例,正如我对输入的理解一样,-.val调用在90%的时间内都有效,通过DOM.value属性设置它也是如此。今天我将尝试通过editors setContent方法进行设置,我将向您汇报。作为记录,我在jQuery.ready回调上进行AJAX调用,据我所知,在tinyMCE.init之后100%的时间都会调用该回调。在我可以正确设置内容之前,我必须弄清楚为什么我的tinyMCE.activeEditor变量没有被设置,但希望这足够简单。好吧,一旦我发现我是个笨蛋,找到我的tinyMCE实例就足够简单了。检查。在弄清楚这一点之后,我加入了一个tinyMCE.get()==null检查,如果它为null,我将超时设置回我的AJAX方法。断然的。感谢您的帮助。我非常感谢您的输入,.val调用在90%的时间内都能正常工作,通过DOM.value属性进行设置也是如此。今天我将尝试通过editors setContent方法进行设置,我将向您汇报。作为记录,我在jQuery.ready回调上进行AJAX调用,据我所知,在tinyMCE.init之后100%的时间都会调用该回调。在我可以正确设置内容之前,我必须弄清楚为什么我的tinyMCE.activeEditor变量没有被设置,但希望这足够简单。好吧,一旦我发现我是个笨蛋,找到我的tinyMCE实例就足够简单了。检查。在弄清楚这一点之后,我加入了一个tinyMCE.get()==null检查,如果它为null,我将超时设置回我的AJAX方法。断然的。谢谢你的帮助。