Pal*_*cil 10 javascript browser keyboard tablet screen-orientation
我有一小组大约90个用户非常重要,所以当这些商业客户中的一个或两个希望在他们的网络应用程序中更改UI时,他们通常会获得专用的开发资源.但是,对于我们来说,确切了解整个组织如何使用该应用程序非常重要,因为该组往往对其UI应该如何看起来具有强烈的个人观点,并且他们都以不同方式使用该应用程序.我在识别硬件和软键盘的使用方面遇到了最大麻烦.最理想的是,我正在寻找一个简单的答案,"使用新的Window.TabletMode == true!" 我不认为这个简单的答案存在.
window.orientation属性为肖像返回0,为横向视图返回90或-90.
结合window.innerHeight,我可以使用像......
var portrait;
$(window).on("orientationchange",function(event){
if (event.orientation == 0)
{
portrait = true;
}
else //if not, it's landscape
{
portrait = false;
}
});
Run Code Online (Sandbox Code Playgroud)
然后我将window.innerHeight结合使用的值portrait来确定宽高比是否看起来我打开了键盘.考虑到我相当狭窄的约束,这种方法确实可以全屏工作,但是如果浏览器不是全屏的呢?我确信还有很多其他理由不为此编写hacky比率计算.此外,我最大的愿望当然是使用任何浏览器和任何屏幕尺寸.
我可以处理的这些事情:我需要在加载文档时设置变量,并找出确定何时键入变得相关的方法.我可能需要检查一些浏览器功能.也许我会在有和没有硬件键盘的情况下增加计数器的输入.一旦我达到一定数量(比方说5次击键),我就会向我的数据跟踪端点发送一个POST请求,让它知道会话12345使用了软键盘(或硬键盘).之后,我将取消订阅事件处理程序.但是我工作的这部分不太受关注,因为我不认为我会陷入任何困境,但我不希望任何人花时间去美化或开发一个巨大的例子.
我在医疗亭/ EMR空间看到了Ipads的转变,因为Ipads限制了很多UI选择,有利于一致的体验.如果医生希望进行非常具体的UI更改,他们通常会得到高级IT领导者的关注.微软倾向于允许大量非标准干预,并且(最近)对浏览器的工作方式进行更多标准类型的干预.我认为很多这种运动都是出于Windows平板电脑的原因,也是因为很多医疗集团都对.NET开发能力很重视.
小智 4
底线:你无法得到你想要的东西。使用 IE11,您实际上还面临其他一些挑战。您不能简单地使用Fullscreen API ,因为promise = element.requestFullscreen()IE 将首先请求用户的许可,并且 API 允许您检查功能而不是状态。此外,多个全屏应用程序可以在 Windows 8 和 8.1 中共享桌面,这有点违反直觉。
但是,如果您可以指望 Web 应用程序可能是全屏的,那么您的“hackish”JavaScript 解决方案可能是最好的答案。获取文档加载时的初始尺寸并在按键期间进行比较。作为旁注,请记住,用户可能不会仅仅因为他或她不在扩展坞中而使用软件键盘。用户仍然需要显式打开软件键盘。
如果您说“仅限 Android”,这将是一个简单的解决方案,但您已经在问题中证明了您知道这一点。如果您想使用桌面应用程序,这里有一些关于硬件令牌的 MSDN 文档,但您再次指出这不够简单。
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |