2012-03-01 12 views
0

index.htmlファイルでフレームを使用しています。フレームのすべてのページに、ページがフレーム内にあるかどうかをチェックするコードがあります。そうでない場合は、index.htmlにリダイレクトします。フレーム外のページをindex.htmの特定のフレームにリダイレクト

今すぐ。ページがフレーム内にあるかどうかだけでなく、index.htmlにリダイレクトするだけでなく、index.htmlのフレームの1つでページを開きたいと思っています。

私は今のように、このコードでJSファイルが埋め込まれている:

if (top.location == self.location) 
{ 
    top.location = 'index.html' 
} 

は、あなたが知っているかもしれない任意のスクリプトがありますか?

答えて

2

サブページのコードを 'index.html'に追加する必要があります。

if (top.location == self.location) { 
    top.location = 'index.html?' + location.href; 
} 

...とクエスチョンマークの後の部分をチェックindex.htmlページ、例えば上の別のJavascriptを置く:

<script type="text/javascript"> 
window.onload = function() { 
    //check if a query string is given 
    if (location.search && location.search.length > 1 
     && location.search.charAt(0) == "?") { 

     //load the URL to the frame 
     window.frames["myframe"].location.href = location.search.substring(1); 
    } 
} 
</script> 

ところで、あなたはあなたのターゲットフレームを与える必要がありこのような名前:

<frameset ... 
    <frame name="myframe" ... 
+0

私はそれを動作させることはできません:それは私を動かすだけにはアドレスバーにアドレスを変更/: 'http://192.168.0.2/csharp%20projects/index.html?http :// 192.168.0.2/csharp%20projects/sitemap.html' from: 'http://192.168.0.2/csha rp%20projects/' – HelpNeeder

+0

アドレスを変更してフレームセットページにどのサブページをロードするかを指示します。私は住所が変わるのを避けることはできないと思います。これは、多くの人がフレームセットを好まない理由の1つです。 –

+1

興味深い回答:[HTMLフレームを使用しない理由](http://stackoverflow.com/questions/1203068/why-should-i-not-use-html-frames);-) –