0

HTML のページの上にソース Web ページに関する情報を表示したいと考えています。私は最初はフレームでこれを行うことを考えていましたが、私が知る限り、フレームは HTML src のみを表示でき、生の html は表示できません。明確にするために、フレームタグが生のhtmlを囲むことが許可されている場合、次のようなことをしたいと思います

<frameset rows="200,2*">
   <frame name="info>
      <h3>Stack Overflow</h3>
      <p>A site for programming questions</p>
  </frame>
  <frame name="site" src="http://stackoverflow.com">
</frameset>

これを行う正しい方法は何ですか?

4

3 に答える 3

1

これは 1994 年ではないため、最善の方法はフレームを使用しないことです。冗談はさておき、フレームはまだ役に立つことがありますが、可能であれば避けるべきです。この理由は次のとおりです。

  1. まったく新しいウィンドウ オブジェクトを作成します。新しいウィンドウ オブジェクトが必要でない限り、メモリを浪費しています。
  2. 一部の検索エンジンは、フレーム内の URL を追跡していませんでした。これは、同じドメインの目的地には当てはまらないかもしれませんが、ページのランク付け方法を変更する可能性があります。何をしているのかを理解していない限り、インデックスを作成したいサイトにフレームを使用しないでください.

フレームを使用する必要がある場合は、フレームごとに個別の html ファイルを使用するか、iframe を使用する必要があります。ただし、iframe には上記の注意事項があります。

JavaScript を使用して div または td を動的にロードすることもできます (jQuery、prototype、mootools などが役立ちます) が、フレームよりもさらに悪い SEO の観点からは、ログインが必要なアプリ用に予約する必要があります。作業を停止します。

ポジショニングの観点からフレームセットに最も近いのはテーブルです。1 つの列の幅を指定せずに、テーブルの幅を 100% に設定すると、行属性のフレームセット "*" のように、その列が使用可能な最大スペースを占有します。ただし、JavaScript を使用しないとテーブルの高さをウィンドウの 100% に設定できないため、高さと行に対して同じことはできません。ここでは、絶対配置はテーブル以上に役立ちます。例えば

<div style="position: absolute; top: 0px; bottom: 0px; width: 100%">
    <div style="height: 200px; width: 100%; background: red;">Fixed Row</div>
    <div style="position: absolute; top: 200px; bottom: 0px; width: 100%; background: blue">Fluid Row</div>
</div>

それらがルート要素である場合、フレーム行のように動作します。別の要素内で作業するには、その要素に幅、高さ、およびpositioning:relativeが必要です。

前の例で、td や div などの任意の要素のスタイルで固定の高さと overflow:scroll を設定すると、フレームのようなスクロール バーが表示されます。次に、すべてのデータを 1 つのページに配置するか、別の URL のコンテンツに 100% の幅と高さの iframe を含めることができますが、前述したように、フレームセットと同じ注意事項が適用されます。

于 2013-08-15T00:48:44.347 に答える