正如您可能知道的,有一种相对简单的方法可以或多或少地可靠地执行detect whether Caps Lock is on,特别是当用户开始在密码字段中键入时。然而,IE10不需要任何额外的编码(source、direct link to screenshot和a simple demo)就能自动支持此功能,这是一个非常未知的事实。因此,现在我面临一个问题,因为如果我添加一个类似的Javascript函数,IE10用户将看到两个带有警告的“气泡”,一个是由我的脚本创建的,另一个是由他们的浏览器创建的;这可能看起来很丑陋,甚至令人困惑。这就是为什么我在寻找一个解决方案,如何检测浏览器是否内置了这个功能;我希望它能触发一些事件或更改一些属性,但我还没有找到这样的东西。
我可能只在用户代理字符串中查找Trident/6.0
,但我宁愿避免浏览器检测;如果其他浏览器添加了类似的功能,可能还需要一些代码维护。
如果没有可靠的解决方案,我会要求IE团队添加"caps-lock- is -on feature“检测功能,可能还会要求HTML规范的编辑人员要求供应商这样做。
发布于 2012-06-06 09:31:12
您可以通过检查document
本身的msCapsLockWarningOff
属性的值来确定IE是否显示自己的大写锁定警告。此外,您还可以打开和关闭此功能:
document.msCapsLockWarningOff = true;
发布于 2011-09-07 13:51:19
我建议您查看此教程http://www.upsdell.com/BrowserNews/res_sniff.htm
你可以试试这样的东西
<!--[if gte IE 10]>
<script type="text/javascript">
var isTrulyIE = true;
</script>
<![endif]-->
或javascript版本,用于检测和原型化浏览器版本
this.isIE10 = (this.version == "10.0") || (this.ua.indexOf("trident/6") != -1);
您也可以尝试使用微软定义的脚本来决定IE浏览器版本http://support.microsoft.com/kb/167820
发布于 2011-08-12 02:01:22
您可以捕获键盘事件并检测按键,但不能确定caps-lock状态。
https://stackoverflow.com/questions/7029152
复制相似问题