在具有大量<input type =“text”/>字段的网页上键入时,Mac上的Safari响应变慢

时间:2014-10-30 00:21:18

标签: html performance input safari response

我最近正在开发一个项目,并在Mac上的Safari中发现一个奇怪的问题。当safari加载包含太多输入文本字段的网页时,在聚焦和键入这些字段时会变慢。

我做了一个简单的php页面来测试。代码如下:

<?php

for ($i = 0; $i < 1000; $i++) {
    echo "<p>
            <input type='text' />
            <input type='text' />
            <input type='text' />
            <input type='text' />
            <input type='text' />
        </p>";
}
?>

然后在Yosemite上的Safari 8.0或Mavericks上的Safari 7.0中打开它,尝试在某些字段中键入内容,您会发现在输入时Safari响应非常慢。

但是如果在Firefox或Chrome中打开这个php页面,他们会以非常快的速度和正常速度进行打字。

我还尝试使用一些可编辑的div块来替换输入文本字段,我在Safari中发现这些可编辑的div响应输入速度非常快,而不像输入字段。

Safari在输入文本字段中输入的响应有什么特别之处吗?

1 个答案:

答案 0 :(得分:4)

对于那些需要答案的人。 答案是将麻烦的文本输入包装在单独的表单包装器中。

这是一个修复它的用例。 (再一次,这是一个只适用于safari的问题,它似乎在chrome上都可以正常工作)

http://jsbin.com/hoxufu/1/edit?html,css,js,output