0

Internet Explorer 6 で特定のキー (Ctrl と Backspace) を無効にする必要があります。これを行うためのレジストリ ハックはありますか。IE6 である必要があります。ありがとう。

長い編集:

@apandit: おっと。バックスペースについてもっと具体的にする必要があります。バックスペースを無効にするというのは、Backspace がブラウザの [戻る] ボタンを模倣する機能を無効にすることを意味します。IE では、フォーカスがテキスト入力フィールドにないときに Backspace キーを押すことは、Back キーを押すこと (前のページに移動すること) と同じです。

Ctrlキーについて。新しい IE ウィンドウを作成するリンクがあるページがいくつかあります。これをブロックするポップアップブロッカーをオンにしています。ただし、Ctrl をクリックすると、新しいウィンドウが起動されます。

これは、現在 Web ベースのアプリケーションであるキオスク アプリケーション用です。現時点では、クライアントはサイトをキオスク対応にするための資金を持っていません。URL フィルタリングや URL 入力フィールドの無効化などはすでに行われています。

ありがとう。

4

3 に答える 3

0

私はこのjQueryソリューションを使用しています(ie6およびfirefox 3.6でテスト済み):

$(document).keydown(function(e) {
    var タグ = e.target.tagName;
    var ro = e.target.readOnly;
    var タイプ = e.target.type;
    var タグ = {
        入力: '',
        テキストエリア: ''
    };
    if (e.keyCode == 8) {// バックスペース
        if (!(タグ内のタグ && !ro && /text/.test(type)) {
            e.stopPropagation();
            e.preventDefault();
        }
    }
});    

それが誰かを助けることを願っています

于 2011-04-28T17:14:33.393 に答える
0

これは何の目的で必要ですか?バックスペースを無効にすると、URL や電子メールなどを入力するのが大変になるためです。

問題をよく知っていれば、他の回避策をお勧めできます。

編集 1:
この Web サイトには、それがどのように行われたかについての情報があるようです。現在確認できませんが、調べてみます: http://www.ozu.com/programming-forum/disable-key-and-back-t44867.html

編集 2:
この Web サイトにはいくつかのキー コードがあります: http://www.advscheduler.com/docs/manual/type_sendkeys.html BACKSPACE は 08 のようです。

編集 3:
ブロックするためのコードがさらに見つかりました。これを確認してください:

<script type="text/javascript">var sType = "keypress";</script>

<!--[IE の場合]>
<script type="text/javascript">sType = "keydown";</script>
<![endif]-->

<script type="text/javascript">
fIntercept = 関数(e) {
   // alert(e.keyCode);
  e = e || event.e;
  もし (e.keyCode == 116) {
   // F5が押されたとき
   fCancel(e);
  } そうでなければ (e.ctrlKey && (e.keyCode == 0 || e.keyCode == 82)) {
   // ctrl が R で押されたとき
   fCancel(e);
  }
};

fCancel = 関数(e) {
  if (e.preventDefault) {
   e.stopPropagation();
   e.preventDefault();
  } そうしないと {
   e.keyCode = 0;
   e.returnValue = false;
   e.cancelBubble = true;
  }
  false を返します。
};

fAddEvent = function(obj, type, fn) {
  if (obj.addEventListener) {
   obj.addEventListener(タイプ、fn、false);
  } そうしないと {
   obj['e'+type+fn] = fn;
   obj[タイプ+fn] = 関数() {
    obj['e'+type+fn](window.event);
   }
   obj.attachEvent('on'+type, obj[type+fn]);
  }
};


fAddEvent(ドキュメント、sType、fIntercept);
</script>

わかりました、これで必要なものはすべて揃ったはずです。バックスペースを無効にするためのキーコードは 08 です。おそらく、私が投稿したコードを少し変更するだけで使用できます... :\

試してみて、必要なものかどうかを確認してください。(Javascriptの使い方を教えていただければ幸いです。)

于 2008-09-12T19:12:16.277 に答える
0

Web ページからはできません。Web ブラウザーの主な目的の 1 つは、ユーザーをインターネットから保護することです。これらは、Web サイトで実行できる非常に具体的なセットを定義しており、ボタンを無効にすることはリストにありません。

一方、あなたがネットワーク管理者であり、ユーザーをいじりたいだけの場合は、デスクトップ ソフトウェアを介して行うことができる場合があります。しかし、私は息を止めませんでした。

于 2008-09-12T19:17:59.180 に答える