发现一个chrome浏览器bug

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaozaq/article/details/82782951

chrome浏览器版本(版本 69.0.3497.100)

测试web项目时,发现一个页面经常卡死,经过各种排除,终于找到了原因。

先说现象:

每当输入框input失去焦点(即触发blur事件)时,页面就卡死动不了了。

排除过程:

1.开始怀疑是数据太大,导致浏览器卡死了。不过也才100多条记录,应该也不至于啊。之前处理1000多条都没问题。排除。

2.怀疑自己代码哪里写错了,死循环,或者bug。多次仔细检查,没发现问题。

3.怀疑使用的框架有bug。

4.代码太多导致不好找原因,所以使用了最原始的方法调试。不停的删减代码,最终发现了是chrome浏览器的问题。

最终测试代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>parentNode测试</title>
	</head>
	<body>
		<form id="frm" >
			parentNode1: <input  name="parentNode"  ><br/><br/>
			parentNode2: <input  name="test123"  ><br/>
			其中一个input的name属性为“parentNode”,当输入框失去焦点(触发input的blur事件)时会卡死。
		</form>
	</body>
</html>

该html文件本地用chrome打开没问题,但是发布后访问时,触发blur事件就会卡死。比如发布到tomcate后访问,页面就动不了了。

问题关键:对一个input标签的name属性命名为"parentNode",从而引起浏览器解析出现了bug。

解决方案:使用标签元素时,避免给name属性命名为parentNode。当然chrome能修复此问题更好了。

猜你喜欢

转载自blog.csdn.net/xiaozaq/article/details/82782951