2

大型のタッチスクリーンモニターで使用するように設計されたWebアプリに取り組んでいます。モバイルアプリではありません。MacOSXとWindowsのFireFoxとChromeで動作します。JavaScriptからOSのネイティブオンスクリーンキーボードをプログラムでポップアップする方法を探しています。Win 7では、これはユーザーがテキスト領域に焦点を合わせると自動的に発生します(iOSやAndroidと同様)が、古いバージョンのWindowsおよびOS Xの場合、ユーザーは手動でプルアップする必要があります。これは厄介なことです。排除。

理想的には、Win7 / iOS / Androidのように機能し、ユーザーがテキスト領域にフォーカスすると自動的にポップアップしますが、テキストボックスごとに追加する必要がある場合でも、キーボードをポップアップするJavaScriptを使用します。

これが可能だとしても、MacとWindowsでは違うと思いますので、これは本当に2つの質問だと思います。どんな助けでも大歓迎です。

4

1 に答える 1

4

OK、私はこれを自分のMac(バージョン10.6.8)とWindows XPでローカルにテストしたので、良いニュースはそれが機能することです(そしてそれは驚くほど簡単です)。

基本的な考え方は次のとおりです。

  1. コマンドラインからオンスクリーンキーボードを開く方法を知っている
  2. JavaScriptからコマンドラインを実行できるようにブラウザを設定します
  3. HTMLを書いてください:-)

両方のプラットフォームの手順は次のとおりです。

マック

Macの場合、次のXcodeプロジェクトをダウンロードしてビルドします。

ビルドターゲットがクライアントMacと同じであることを確認してください(たとえば、64ビットIntelなど)。出力は、と呼ばれる実行可能ファイルになりますkeyboardViewer。これにより、実行時にオンスクリーンキーボードがポップオープンします。

ユーザーのデスクトップに保存したと仮定するとkeyboadViewer、実行するコマンドは(私の場合のように)次のようになります。

  • /Users/Oliver/Desktop/keyboardViewer

ウィンドウズ

Windowsでは、コマンドラインからオンスクリーンキーボードを開く方がはるかに簡単です。次の(または同様の)がそれを行います:

  • C:\WINDOWS\system32\osk.exe

Firefox

次に、ブラウザからこのファイル(またはWindowsコマンド)を実行する必要があります。したがって、Firefoxアドオンをここにインストールします。

このアドオンを使用すると、JavaScriptからOSコマンド(ファイルの実行など)を実行できます。アドオンからこれを実行する前に、このコマンドを許可されたコマンドのリストに追加する必要があります。

これを行うに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", []);

別の方法は、AdobeAirのようなもので独自のブラウザを作成することです。そのメソッドを使用して、JavaScriptがAirアプリを呼び出し、Airアプリが実行されますkeyboardViewer(またはWindowsの同等の機能)。

于 2012-07-26T21:27:31.410 に答える