当前位置: 代码迷 >> Android >> pda(有自定义的键,如Esc),访问服务器上的网页(可以监听键盘事件),按自定义的Esc、F2等时,安卓原生浏览器、uc、海豚浏览器均返回0解决方案
  详细解决方案

pda(有自定义的键,如Esc),访问服务器上的网页(可以监听键盘事件),按自定义的Esc、F2等时,安卓原生浏览器、uc、海豚浏览器均返回0解决方案

热度:280   发布时间:2016-04-28 06:32:47.0
pda(有自定义的键,如Esc),访问服务器上的网页(可以监听键盘事件),按自定义的Esc、F2等时,安卓原生浏览器、uc、海豚浏览器均返回0
本帖最后由 jinianjun 于 2013-10-23 10:18:31 编辑
如题:
1:对于标准的按键,任何的浏览器可以得到正确的键值;
2:对于如Esc、F2等的功能键,安卓原生浏览器、UC、海豚得到的charCode和keyCode均为0,chrome和火狐可以得到正确的键值。

服务器端利用js判断按键键值:
//判读浏览器类型
            function getOs() {
                if (navigator.userAgent.indexOf("MSIE") > 0) return 1;
                if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) return 2;
                if (isSafari = navigator.userAgent.indexOf("Safari") > 0) return 3;
                if (isCamino = navigator.userAgent.indexOf("Camino") > 0) return 4;
                if (isMozilla = navigator.userAgent.indexOf("Gecko/") > 0) return 5;
                return 0;
            };
            $(window).keydown(function (event) {
                //判读浏览器类型
                if (getOs() == 1 || getOs() == 3) {
                    $("#dialog")[0].innerText = event.which;
                } else if (getOs() == 2) {
                    $("#dialog")[0].innerHTML = "<P>" + event.which + "</p>";
                }
                $("#dialog").dialog("open");
            });

------解决方案--------------------
看来搞pda的不多
  相关解决方案