网页密码框无法输入
浏览器地址栏旁边那个小锁图标,网页我点了不下十次。密码密码框还是框无灰的,光标点进去就闪两下,法输然后死活不出键盘——不是网页物理键盘,是密码屏幕上那个虚拟键盘。这事发生在昨天下午,框无帮一位六十多岁的法输阿姨处理网银登录。
她用的网页是台老式Windows平板,触屏模式。密码我一开始以为是框无系统卡了,重启,法输没用。网页换浏览器,密码Edge换Chrome,框无还是没用。最后发现,问题出在密码框本身的代码上——它设了个`readonly`属性,但页面加载时没触发解除锁定的脚本。这种低级错误,现在不少政务网站和银行系统还在犯。
密码框无法输入,最常见的元凶其实是这三个:浏览器自动填充的幽灵值、JavaScript被禁用、还有那个万恶的`readonly`。自动填充最坑——你看着框是空的,其实里面藏着一串星号,只是颜色和背景一样白。这时候随便敲个字符,再删掉,往往就能激活输入。JavaScript被禁用的情况少些,但一旦碰上,整个页面的表单验证全瘫,密码框自然成了摆设。
还有一种情况,纯粹是前端工程师手滑。他们把`onfocus`事件绑错了元素,或者CSS里用了个`pointer-events: none`,把整个输入区域罩住了。这种问题肉眼看不出来,得按F12打开开发者工具,在Console里敲一行`document.querySelector('input[type=password]').removeAttribute('readonly')`,立竿见影。
我处理完阿姨那台设备,顺手查了下那个网银页面的源码——好家伙,2013年的代码,十年没更新过。密码框旁边还留着当年兼容IE6的注释。这种系统,你让用户怎么放心输密码?
如果你也遇到这问题,先别急着砸电脑。试这三步:第一,点一下密码框,按`Ctrl+A`全选再删除,看有没有隐藏字符;第二,地址栏输入`about:config`(Firefox)或`chrome://settings/content/javascript`(Chrome),确认JS没被关;第三,按住`Shift`键刷新页面,强制重新加载所有脚本。还不行,换个浏览器试试——Safari和Firefox对密码框的处理逻辑不太一样,有时候换一下就好了。
实在不行,还有个土办法:在地址栏输入`javascript:void(document.querySelector('input[type=password]').readOnly=false);`然后回车。别怕,这行代码只是把那个该死的只读属性去掉,不会偷你密码。当然,前提是你得确认这个页面是正规网站——钓鱼网站也爱用这招骗你输入,但它们的密码框通常是能输入的,反而会故意让你输错几次再弹个“系统维护”的假提示。
密码框不让你打字,有时候是技术故障,有时候是设计缺陷,还有时候——是网站压根没打算让你好好登录。那些把密码框做成装饰品的平台,多半是后台接口崩了,又不想显示错误页面,干脆让用户卡在输入这一步。这种掩耳盗铃的做法,比技术问题更让人恼火。
(责任编辑:百科)













