2012-03-12 20 views
1

私は自分のウェブサイトを持っています。私はHTMLでの経験があまりないので、これが悪い習慣であるかどうかは完全にはわかりませんが、ここに私の問題があります。ページurlのページへのリンク内部フレーム

私のウェブサイトは、3フレームのframesetで構成されています。 2つは変更されず(バナーとナビゲーションパネル)、もう1つはコンテンツです。メインフレームにコンテンツを表示する方法は、iframe経由です。ここでトラブルがどこに来るのですか。私は自分のウェブサイトをクローラに提案し、コンテンツ用のすべてのページをクロールします。 Googleが提案したリンク(プロジェクトなど)をクリックすると、残りのフレームはなく、ブラウザにその個別の.htmlファイルが読み込まれます。言い換えれば、書式設定とページフレームを設定する私のindex.htmlを通してページにリンクしませんが、スタンドアロンページとしてhtmlを読み込むだけです。

私のウェブサイトのリンクが(私のドメインからではなく)外部リンクからクリックされた場合、そのページは最初に私のindex.htmlをロードしてから、それは私のインデックスから正常にアクセスされたかのように見えますか?私はiframeを避けるようにメインフレームにコンテンツを表示する新しい方法を見つけるべきか、ユーザーをリダイレクトするための単純なスクリプトが必要かどうかはわかりません。

有用かどうかわかりませんが、フレームレイアウトの内容を説明するためにページの写真を添付し​​ました。

多くの感謝!!!

Website Screenshot

答えて

1

のiFrameは、ナビゲーション、ヘッダーと思われるものから、そしてもちろん...間違いなく、その内容は、あなたが一貫性のあるコンテンツを表示した場合に実行するルートではありません。もちろん、「検索エンジンスパイダー」があなたのページをクロールするときに問題が発生します...私の理解から、あなたが別のページから「コンテンツ」と呼んでいるのを見ると、スパイダーはそのページをクロールしますが、index.htmlはクロールしません現在表示されているページです。 「スパイダー」がページをクロールすると、STATIC HTMLタグ/コンテンツ/キーワード/などが検索され、他のページからすべてのコンテンツを呼び出すと、「スパイダー」はそのコンテンツを別のページにあるものとして扱います。

私はお勧めしますか? iFrameは常に使用しないでください。 iFrameのポイントは、iFrameを表示している現在のページをスクロールしなくても、別の場所(外部)からコンテンツを表示したり、ページに静的コンテンツを表示したりすることです。

iFrameを使用することは悪い習慣ですが、私はDIVを使用することをお勧めします。これらのDIV内では、コンテンツ、画像、リンクを配置することができます。あなたのウェブサイトを閲覧させるというメリットとともに、検索エンジンスパイダーと一緒に、あなたが望む実質的に何でも。

こちらがお役に立てば幸いです。 ありがとう、 Aaron

+0

'div'sを使うだけで、各ページの' .html'ファイルを使って、今までと同じようにコンテンツを循環させることができますか?あるいは、各ページで、navbar、bannerなどを含む 'frameset'を設定する必要がありますか? – gkiar

+0

@iKiar:なぜナビゲーションとバナーにiFrameを使用する必要がありますか? iFramesを「インクルード」ファイルとして使用しようとしていますか?したがって、ナビゲーションとバナーをすべてのページで静的に繰り返す必要はありませんか?そのような場合は、PHPのようなサーバーサイドインクルードを調べることをお勧めします。 –

+0

バナーのiframeは使用しません。フレームセットの一部に過ぎません。静的に言うと、すべてのページに表示されます。私はPHPを見ていきますが、当面はあなたの最初の提案を受け取り、そのコンテンツを 'div'に入れるだけです。ありがとう! – gkiar

-1

のiFrameは悪い選択です。最近AJAXは非常に簡単です。大きなiFrameをDiv、AJAXをページに置き換えて、そのDivにコンテンツを入れてください。

タグを使用してアンカーを交換し、そのような名前でのhrefを置き換える:

<div name='main.html' class='link' /> 

あなたはidを持つdiv要素「loadHere」必要があります。 を次にjQueryのを含める(それは非常に簡単です、それをグーグル)とあなたのHTMLの最後にこれを置く:

$('.link').click(function(){ 
    $.post(this.name,function(dat){ 
     $('#loadHere').html(dat); }); }); 
+0

これについて詳しく説明できますか?どのようにしてAJAXページをdivの中に置き、リンクを使ってAJAXページをターゲットにして他の '.html'ページを表示させますか? – gkiar

+0

私は答えで説明します。 – DanRedux

関連する問題