gpt4 book ai didi

javascript - Mac/Windows 在 Javascript 中弹出虚拟键盘

转载 作者:可可西里 更新时间:2023-11-01 11:35:40 24 4
gpt4 key购买 nike

我正在开发一个专为在大型触摸屏显示器上使用而设计的网络应用程序。它不是移动应用程序;它将在 Mac OS X 和 Windows 上的 FireFox 和 Chrome 中运行。我正在寻找一种从 javascript 以编程方式弹出操作系统的 native 屏幕键盘的方法。在 Win 7 中,当用户关注文本区域时会自动发生这种情况(就像 iOS 和 Android 一样),但对于旧版本的 Windows 和 OS X,用户必须手动将其拉起,这很麻烦我想排除。

理想情况下,它会像 Win7/iOS/Android 一样工作,并在用户关注文本区域时自动弹出,但我会满足于弹出键盘的任何 javascript,即使我必须为每个添加它文本框。

如果这甚至可能,我确信 Mac 和 Windows 是不同的,所以我想这真的是两个问题合二为一。感谢您的帮助。

最佳答案

好的,我已经在我自己的 Mac(版本 10.6.8)和 Windows XP 上进行了本地测试,所以好消息是它可以正常工作(而且非常简单)。

基本思想是:

  1. 了解如何从命令行打开屏幕键盘
  2. 将浏览器设置为允许从 JavaScript 执行命令行
  3. 编写您的 HTML :-)

两个平台的说明如下。

苹果机

对于 Mac,下载并构建这个 Xcode 项目:

确保您的构建目标与客户端 Mac 相同(例如 64 位 Intel 等)。输出将是一个名为 keyboardViewer 的可执行文件。这将在执行时弹出屏幕键盘。

假设您已将 keyboadViewer 保存到用户的桌面上,那么您要执行的命令是(如我的情况):

  • /Users/Oliver/Desktop/keyboardViewer

Windows

在 Windows 上,从命令行打开屏幕键盘要容易得多。以下(或类似)将执行此操作:

  • C:\WINDOWS\system32\osk.exe

火狐

接下来,您将不得不从浏览器执行此文件(或 Windows 命令)。因此,请在此处安装 Firefox 附加组件:

此插件允许您从 JavaScript 执行操作系统命令(例如执行文件)。在您可以从附加组件执行此命令之前,您需要将此命令添加到允许的命令列表中。

为此,请转到浏览器地址栏中的 about:config。右键单击首选项列表并选择新建 > 字符串。您要添加的新首选项的名称是 extensions.commandrun.allowedcommands。对于值,输入以下内容:

  • 在 Mac 上:["/Users/Oliver/Desktop/keyboardViewer"]
  • 在 Windows 上:["C:\\WINDOWS\\system32\\osk.exe"]

HTML

现在,您将能够使用 HTML 从 Firefox 打开屏幕键盘,如下所示:

<script language="javascript">
function openKeyboard(){
CommandRun.run("/Users/Oliver/Desktop/keyboardViewer", []);
}
</script>

<input type="text" onfocus="javascript:openKeyboard();" />

在 Windows 上,替换以下内容:

CommandRun.run("C:\\WINDOWS\\system32\\osk.exe", []);

备选

另一种方法是用 Adob​​e Air 之类的东西编写您自己的浏览器。使用该方法,您的 JavaScript 调用您的 Air 应用程序,然后您的 Air 应用程序执行 keyboardViewer(或 Windows 等效项)。

关于javascript - Mac/Windows 在 Javascript 中弹出虚拟键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11676145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com