Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Safari中的JS性能问题_Javascript_Safari_Tinymce - Fatal编程技术网

Javascript Safari中的JS性能问题

Javascript Safari中的JS性能问题,javascript,safari,tinymce,Javascript,Safari,Tinymce,我在Safari中遇到了脚本问题。该脚本的基本功能是,它使用jqueryui的Sortable函数来启用Sortablediv。div中有TinyMCE实例。为了使TinyMCE内容在DOM更改后保持不变,我必须运行一个TinyMCE函数,该函数在可排序开始时清除内容,在可排序停止时恢复内容 在实现了这个持久化内容的解决方法之后,我发现在Safari 7.0中放置div时出现了严重的性能问题。Chrome和Safari的性能非常出色 在Safari中进行了一些Javascript评测之后,我看到

我在Safari中遇到了脚本问题。该脚本的基本功能是,它使用jqueryui的Sortable函数来启用Sortable
div
div
中有TinyMCE实例。为了使TinyMCE内容在DOM更改后保持不变,我必须运行一个TinyMCE函数,该函数在可排序开始时清除内容,在可排序停止时恢复内容

在实现了这个持久化内容的解决方法之后,我发现在Safari 7.0中放置
div
时出现了严重的性能问题。Chrome和Safari的性能非常出色

在Safari中进行了一些Javascript评测之后,我看到了以下内容:

下面是对
isVisible()
函数的深入分析,该函数耗时1.82秒:

需要注意的几件事:

  • 其中一些函数被调用了近50万次:o
  • 这些函数都不是源于我编写的代码
  • 它们似乎与自动填充有关
  • 这些昂贵的功能都没有出现在Chrome或Firefox配置文件中
我的假设是,当TinyMCE的函数运行以恢复内容时,它会更改一些
textarea
字段,这可能会提示某种自动填充活动

所以…我有三个问题:

  • 这些功能是什么
  • 有他们的文件吗
  • 我能压制他们吗

  • 家庭元素是否被删除和重新添加,并有听众?如果是这样,并且事件侦听器没有被清除,这将是一个内存泄漏,可能会导致您看到的内容,因为当元素被添加回时,侦听器会被复制,因此它会以指数形式增长,并且每个操作都会加倍、三倍、四倍,等等,这取决于它是否在做会影响eventListeners的事情。