当前位置:  开发笔记 > 编程语言 > 正文

当我动态设置内容时,TinyMCE无法使用chrome

如何解决《当我动态设置内容时,TinyMCE无法使用chrome》经验,为你挑选了1个好方法。

我有一个网站:

 

我有一个javascript函数,然后使用setContenttextarea 的javascript方法将数据从我的数据库插入到文本编辑器中.它似乎在Firefox和IE中很好,但在Chrome中有时没有任何显示.没有错误,只是一个空白的编辑器.

在身体部分,我有:

  

在头部我有:

function ajaxLoad() {
        var ed = tinyMCE.get('elm1');
        ed.setProgressState(1); // Show progress
        window.setTimeout(function() {
            ed.setProgressState(0); // Hide progress
            ed.setContent('


General Manager's Corner

August 2009

It’s been 15th and so have a Steak Night (Saturday, 15th) and a shore Dinner planned (Saturday, 22nd) this month. urday, September 5th. e a can’t missed evening, shas extended it one additional week. The last clinic will be the week of August 11th.

 Alt (Tuesday through Thursday)

 I wouClub.

 

 

 

 

'); }, 1); }

我不确定Chrome是否拒绝了它的某些格式,但似乎TinyMCE可以在一个浏览器中解析它,它应该可以在任何浏览器中执行,所以我很困惑.

有什么建议?



1> Steffen Opel..:

背景:

由于各种原因onload()不被认为是加载Javascript的正确方法,例如参见在文档就绪上启动代码,其中最重要/最明显的是在页面完全下载之前Javascript代码不会运行,包括图像等因此,这可能需要一段时间(例如,如果外部横幅广告服务器关闭等).

相反,建议在DOM准备就绪后立即加载Javascript ,但不幸的是,没有与浏览器兼容的本机解决方案,请参阅页面DOM加载时(但在window.onload之前)获得通知 ; 请注意,我的整个答案都是基于最优秀的Javascript库jQuery,它提供了针对此问题的跨浏览器解决方案,因此我绝对赞成对自己接受的解决方案的两个更高的投票答案.

可能的原因:

你的问题似乎是由相反的行为引起的:Chrome有助于WebKit渲染引擎,就像Safari一样,后者onload()的讨论行为也不同,请参阅何时onload fire?在Safari中更快吗?.有关Chrome特定问题的另一个说明可以在window.onload中找不到在Chrome中无法正常工作,但没有解释.

总而言之,我怀疑onload()在DOM实际完全加载之前要开火,至少关于TinyMCE的要求,这对于像这样的问题是非常脆弱的,并且只是停止加载.

可能的方法:

只是在window.onload中概述的促进标签defer上的属性不能在Chrome中正常工作也不是跨浏览器兼容的,因此我只是采用广泛部署和验证的方法来使用已经提到的jQuery跨浏览器解决方案来解决问题,无论如何这是一种好的做法,原则上也应该照顾你的反问题.scriptonload()


更新:

确实存在一些针对WebKit的错误,这些错误可以支持我的结论(无论这种行为是否构成错误或是故意的),请参阅:

onload有时会在加载所有资源之前触发

window.onload在加载所有子资源之前触发

Window.onload在加载图像资源之前触发

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有