• ベストアンサー

JavaScriptでショートカットキーを実行

JavaScriptでショートカットキーの実行は可能でしょうか? たとえば、IEのブラウザ上でCtrl+Pと同様の動きを実現したいと思います。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicorus
  • ベストアンサー率70% (12/17)
回答No.4

先ほどの補足ですが、window.print()以外で印刷を実行するには 私の知っている範囲内ではIEオブジェクトの(ExecWB)を使う事くらいです。 参考例↓ http://msdn.microsoft.com/en-us/library/aa752084(VS.85).aspx http://msdn.microsoft.com/en-us/library/ms691264(v=VS.85).aspx ただし、IEオブジェクトを使用するにはちょっとした小細工が必要です。 調べてみてください。

ukatu
質問者

お礼

いろいろと教えて頂きありがとうございまいした。 試させてもらいます。

その他の回答 (4)

  • think49
  • ベストアンサー率59% (285/482)
回答No.5

#2 です。 To: #3 さん > javascriptでショートカットキーの指定は可能です。 > No.2さんはいい加減なことを言わないように。 ショートカットキーの「実行」と「指定」では大分話が違うかと思います。 質問者さんは「ショートカットキーの実行」を求めているように読みましたが、私が読み違えているのでしょうか…。 私が意図した回答は「ブラウザのショートカットキーに設定されているデフォルトアクションをJavaScriptで実行できない」です。 おそらく大抵のブラウザは [Ctrl] + [P] に [このページを印刷] が設定されているかと思いますが、それが保証されているわけではありませんし、キーカスタマイズして [Ctrl] + [P] に別の機能が割り当てられていても追従して実行する方法を私は知りません。 質問者さんは [Ctrl] + [P] を例としてあげていますので実際に割り当てたい機能は別にあるのではないかと推察します。(#1 さんの補足からも読み取れます) また、単純に考えても任意のタイミングで [Ctrl] + [W] (ページを閉じる) や [Ctrl] + [N] (新しいウインドウでページを開く) を実行できたら脆弱性になり得ると思いますし、User-Agent 毎に設定の違うショートカットキーを実行する手段をJavaScriptが提供しているとは考えがたいと思います。

ukatu
質問者

お礼

そこまで説明してくださると納得のしがいがあります。 実は、IE8でwindow.printだと正しく印刷されないことがあり、 ブラウザ印刷の場合は、正しく印刷されるため Ctrl+Pのショートカットキーができるか質問してみました。

  • nicorus
  • ベストアンサー率70% (12/17)
回答No.3

javascriptでショートカットキーの指定は可能です。 No.2さんはいい加減なことを言わないように。 知らないならば無駄に回答をしないように。 onkeyup イベントを対象オブジェクトに記述し、event.keyCodeにより処理を分ければ可能です。 参考例↓ http://javascriptist.net/docs/pract_keyboard_event.html 以上、No.2さんの回答が残念だったので補足させていただきました。 しかし、今回の用途ではNo.1さんの回答で十分ですね。

  • think49
  • ベストアンサー率59% (285/482)
回答No.2

JavaScriptでショートカットキーの実行は不可能です。

回答No.1

window.print();

ukatu
質問者

補足

ありがとうございます。 window.print以外で知りたいと思ってます