2009-03-19 10 views

答えて

2

HTTPリダイレクト:

  • 長所:あなたは、ユーザーのアクティビティを記録することができます。
  • 短所:ユーザーが効果的にリダイレクトされるまでの余分なターンアラウンドサイクル。

JavaScriptがリダイレクト:

  • 長所:ユーザーはすぐに
  • 短所リダイレクトされます:あなたはAJAXを使用しない限り、あなたは、ユーザの活動を記録することはできません。ユーザーがJavaScriptを無効にすると、リダイレクトされません。何JavaScriptが有効になっていないかのようにコードを(すなわち、フォームをポスト「GO」ボタン);:この場合

は、私はこの問題を解決するためにUnobtrusive JavaScriptを使用する傾向がありますページが読み込まれた後、Javascriptはそのボタンを非表示にし、選択機能を選択ボックスに追加して、アクティビティを記録するAJAXリクエストを送信します。

<select id="test" onchange="doAction();"> 
    <option value='http://...'>...</option> 
    <option value='http://...'>...</option> 
    <option value='http://...'>...</option> 
    <option value='http://...'>...</option> 
</select> 

<script type="text/javascript"> 
function doACtion() { 
    window.location = document.getElementById('test'); 
} 
</script> 

IEのユーザーが自分で選択をナビゲートしようとしているので、これは非常に悪いのアクセスがあります。このような何かをするときは注意してくださいあなたは二つの世界のベストを引き出す方法:)

+0

+1いいえjsアプローチへのフォールバックの名前がありませんでした(私は持っているべきだと思います:P)...それは、フォームを設定して直接ページにアクセスして、 ) – eglasius

2

リストの項目を選択することで、ナビゲーションのようなものを意味する場合は、両方を行うことができます:

  • は、目的のページに直接指し示すGETで構成フォームを、持っています。
  • jsがサポートされている場合は、値を選択するときに「submit」を呼び出すようにしてください。アプローチは、上記の目的のページに直接行く:何のJSがサポートされていない場合は、選択/行く/オープンボタンは、ユーザーがまだアプリケーション

注意して作業できるように、表示されるべきです。これは、サーバーからのリダイレクトを送信することとは異なります。これは処理される余分な要求で発生し、操作に余分な遅延が加わり、サーバーによって処理される要求が増えます。これはナビゲーションのシナリオであり、少なくとも追加の具体的な要件がない限り、サーバーサイドに行く必要はありません。

1

キーボードが不注意にアクションを引き起こします。これは、障害のあるユーザーにとっては、リダイレクトしようとしているかのように、最初のオプション以外のものにはアクセスできないように特に面倒です。

関連する問題