- PR -

ブラウザの「戻る」機能について

1
投稿者投稿内容
.net
ベテラン
会議室デビュー日: 2005/04/11
投稿数: 95
投稿日時: 2005-08-31 11:09
皆さん、こんにちわ^^ いつもお世話になっております。

さっそく質問なのですが、ブラウザの戻る機能の話なのですが、
BackSpaceやAlt+←や右クリック等の制御は出来たのですが、どうしても、
特殊なマウスについた「戻る」ボタンだと、戻ってしまいます。

始めは、そのマウスのボタンを押した時も、BackSpaceを押した状態にしてるのかと思いきや、そうでもないみたいです・・・。
JavaScriptにて、MouseUpやKeyDownイベントにて、キーコードを拾おうとしても、どうしても出来ません。

何かいい方法はございませんか?
どうか、よろしくお願いいたします。

ちなみに、そのマウスというのはMicroSoft社のIntelliMouse Explorer 3.0 というマウスです・・・。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2005-08-31 12:44
どんなイベントが発生しているかを知りたい場合、
SPY++というツールで調べることが出来るのですが、
VS.NETに付属してましたっけ? > 識者の方


[ メッセージ編集済み 編集者: かずくん 編集日時 2005-08-31 12:45 ]
paupau
会議室デビュー日: 2005/08/24
投稿数: 13
投稿日時: 2005-08-31 13:15
識者じゃなくて恐縮なんですが^^;
いちおVS2003にはついてますね。
WM_XBUTTONDOWN
WM_XBUTTONUP
が発生しているみたいでした。
.NETの標準機能で取れるかはナゾですケド。
どうなんでしょう> 識者の方
|ω・`)
trapemiya
大ベテラン
会議室デビュー日: 2005/07/30
投稿数: 102
投稿日時: 2005-08-31 13:17
>VS.NETに付属してましたっけ? > 識者の方

ついてます。ここを参考にしてspy++で探ってみるといいかもしれません。
http://www.codeproject.com/csharp/wmp_pinvoke.asp
葉瀬崎浩樹
大ベテラン
会議室デビュー日: 2005/06/28
投稿数: 115
お住まい・勤務地: 兵庫県
投稿日時: 2005-08-31 13:43
そして識者ではありませんが。。

ブラウザで「戻る」を制御する大変さを認識された上で、
出来る限り動作を制御したいということでしょうか。

でもでも、頑張ってキーコードやWM_XXXXを取得して制御しても、
マウスやキーボードのキー割り当てとかを変更されたら無駄になりませんかね?

ブラウザが「戻る」というイベントを発生してくれるのなら
それを元に制御できるのでしょうけど。
(でも、そんな制御のかかったサイトを公開されたら嫌ですね)

制御をかけたらかけたで、テストとかも必要になることですし、
マウスの操作は制限事項にしたら良いと思うんですけど。。
どうなんでしょう> 識者の方

#うちは×ボタン、F1キー、Ctrl+Nとかは運用でカバーしてもらってます。

関連リンク置いていきます。
ブラウザの戻るボタンのイベント取得について。。
.Netでの戻るボタン非表示
ブラウザの戻るボタンを使えなくする方法?
さんざん既出の「戻る」ボタンの制御について
戻るや進むボタンへの対応

[編集]
どうなんでしょう> 識者の方 を忘れたので追加。
[/編集]

[ メッセージ編集済み 編集者: 葉瀬崎浩樹 編集日時 2005-08-31 13:45 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-08-31 20:59
 Opera, FireFox でマウスジェスチャーを使われたら、どうなるのでしょう?

 クライアントが JavaScript を無効に設定していたら、どうなるのでしょう?


 ということで、クライアントでどうこうするのではなく、サーバで対策するべきだと思います。

_________________
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-08-31 23:33
引用:

葉瀬崎浩樹さんの書き込み (2005-08-31 13:43) より:
[編集]
どうなんでしょう> 識者の方 を忘れたので追加。
[/編集]


#私は識者じゃ(ry

理想を言えば「戻れるように作り直しましょう」
それが出来ないならExpireやCashControl、NoCashe等のヘッダーで戻ってもページが表示されないようにしましょう。もちろん再読込みに関しては、サーバーサイドで対応して、要求が再送されても問題が無い様にしましょう。
・・・って事になるのでは

個人的にはページのキャッシュ期間を短く指定して、いつもの感覚でつい戻るとデータが消えて、最初からやり直しって事になると、とっても萎えます。可能な限り戻れるように作って欲しいところですが、ASP.NETでは難しい時もあるでしょう。

極端に不自然な操作を上げると「新規ウィンドウで開く」→「前のウィンドウをアクティブに」→「ページの再読込み」とか、無体な操作は例を上げるとキリが無いです。
.net
ベテラン
会議室デビュー日: 2005/04/11
投稿数: 95
投稿日時: 2005-09-01 09:14
皆さん、さっそく御返答ありがとうございます。

初心者という立場で「戻る」機能を完全に制御するには、色々と問題があるのを改めて感じました・・・。
作り直しとなると辛い点があるので、マウスの件も含め、制限機能としてお客さんとお話していきます。

ありがとうございました^^
1

スキルアップ/キャリアアップ(JOB@IT)