0

私は自分の Web サイトに取り組んでおり、メイン ページ (index.html) は page1.html と page2.html の 2 つのフレームで構成されています。これはコードです:

<!DOCTYPE html>
<head>  
<frameset rows="16%,84%" framespacing="0" border="0" frameborder="0">
  <frame name="page1" target="page2" src="page1.html" scrolling="auto">
  <frame name="page2" src="page2.html" target="_self" scrolling="auto">
<noframes></noframes>
</head>
</html>
  • 最初のものは、サイトの残りの部分への複数のリンクを含むページの固定コンテンツとして機能します。このページが常に開かれていることが絶対に重要です。

  • 2 つ目は、コンテンツ領域である「本文」で、いずれかのリンクがクリックされると置き換えられます。

だからここに私の問題があります: index.html 以外からアクセスされたページがある場合、たとえば google では page1.html は存在しません。

ページ「page1.html」が存在するかどうかを確認し、存在しない場合はフレームとして開くコードを探しています。

私が持っている最も近いものは、このJavaScriptコードでした:

<script language="javascript">
window.onload=function(){
    if(self==parent)
        window.location.href = "index.htm"
}
</script>

index.html 以外からページにアクセスしたユーザーは、そのページにリダイレクトされます。しかし、それでもダメです。手がかりはありますか?

4

2 に答える 2

0

フレームは非推奨ですが、とにかく:
ページが次のような親フレームであるかどうかを確認します。

if(window.top == window.self)

window.top は親フレームで、window.self は現在のフレームです。それらが等しい場合、parentframe(set) はありません。

于 2013-08-05T12:19:58.237 に答える