0

カラーボックスで開かれていない場合に誰にもアクセスされたくないページがあります。それらを「/dashboard/」にリダイレクトしたいと思います。

明確にするために、ページに直接アクセスする場合(iframe /カラーボックスではない)、リダイレクトするか、ページをロードします。

4

3 に答える 3

2

javascriptを使用して、現在のページがトップページであるかどうかを確認できます。

if (top == self) {
  top.location = '/dashboard/';
}

ただし、もちろんjavascriptをオフにすることもできます。

于 2012-09-19T14:48:14.873 に答える
0

アイテムをiframeで開いている場合、これは実際には不可能です。ブラウザは、ページに直接アクセスした場合と同じようにiframeをロードするためです。

ページの読み込み時に数値を生成し、それをGET変数としてiframeに渡すというナンスタイプの処理を実行できます。これにより、渡された値がSESSIONに格納されている値と同じであるかどうかが確認されます。セッション1が存在しないか、異なる場合は、リダイレクトします。同じ場合は、セッションから値を削除し、通常どおりにロードします。

それがどれだけうまくいくかはわかりませんが。壊れている例としては、ユーザーがiframeを更新しようとすると、代わりに、現在のWebページ(/ dashboard /)がiframeに埋め込まれる可能性があります。

したがって、単純な答えはノーです。ある程度の複雑さと人々の経験を壊すリスクがなければ、それは不可能です。

于 2012-09-19T14:45:05.140 に答える
0

これはjqueryでの呼び出しを防ぐ方法ですが、なぜこれが必要なのかわかりません。ユーザーは簡単にリンクに直接アクセスできます。一時的な修正が本当に必要な場合は、リンクの親が存在することを確認できます。

$('a').click(function(e){
    if($(e.target).parent('#colourBoxID').length > 0){

       //go to page

    }
    else{

    //redirect
    }
});
于 2012-09-19T14:48:33.800 に答える