- - PR -
oncontextmenuイベントを全てのページに
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-06-04 11:10
ASP.NETで開発を行っておりますが、全てのページにおいて
右クリック時のメニュー表示をしたくありません。 BODYタグにoncontextmenu="return false"を入れれば良いのですが、 ページ数(ファイル数)が多いので、一括して実現する方法を探しています。 何か情報をお持ちの型、よろしくお願いします。 |
|
投稿日時: 2004-06-04 12:48
コンテキストメニュー以外にもF5キーなど無効にしたいものは
ベースクラスを定義して、全てのページはそのベースを継承して作成したらどうでしょうか。 |
|
投稿日時: 2004-06-04 12:57
ベースクラスといっても、継承できるのはaspx.vbファイルの方に書かれているコンパイルされる部分だけですよね。
そのコードの中から<body>タグっていじれましたっけ? |
|
投稿日時: 2004-06-04 13:18
思いつき:
Javascriptを別ファイルに記述して、その中で、body.oncontextmenu=で、何もしない関数を設定する。各ファイルにこのJavascriptファイルを読む記述は必要。 |
|
投稿日時: 2004-06-04 13:54
説明が不足していました。
bodyタグにはアクセスできないので Pageロード時に右クリックを無効にする クライアントスクリプトをRegisterClientScriptBlockで登録します。 |
|
投稿日時: 2004-06-04 19:00
クライアントスクリプトをRegisterClientScriptBlockで
trueかfalseを返す関数を動的に生成するってことでしょうか? でもBODYタグに「oncontextmenu="作成する関数名"」ってのは入れておかないと ダメですよね。 |
|
投稿日時: 2004-06-04 19:33
Page_Loadイベントハンドラに、以下を記入。
this.Page.RegisterStartupScript("body", "<script>document.body.oncontextmenu=new Function('return false;');</script>"); これを入れたページをベースにして、継承して使えばOK!ってことですね?>burton999さん [ メッセージ編集済み 編集者: Jitta 編集日時 2004-06-04 19:35 ] |
|
投稿日時: 2004-06-07 10:09
VBScriptだと
BODYタグにoncontextmenuと書く必要がありません。 Private Sub document_oncontextmenu() window.event.returnValue = False End Sub |