3

私はhtmlを取得し、socket.ioを介してwebsocketsを介して空のiframeを持つ別のページに送信し、htmlをiframeに動的に挿入するWebページを持っています。

HTMLを挿入するために使用するコードは次のとおりです。

frame.open();
frame.write(html);
frame.close();

ただし、DOM 要素のサイズと間隔の一部は、元のページとはわずかに異なって表示されるようです。

ここに、私の言いたいことを示す 2 つのスクリーンショットを示します。違いがわかりにくいですが、上部の検索バーの長さがわずかに異なり、各曲のタイトルと大きなサムネイルからの距離がわずかに異なります。

元のページ:

ここに画像の説明を入力

html が動的に挿入された iframe を含むページ

ここに画像の説明を入力

HTML の唯一の違いは、相対 URL が絶対 URL に変更されたことです。これ以外に、html、ブラウザ、およびウィンドウ サイズは同じです。また、css スタイルも同じです。

ここで何が起こっているのですか?

4

1 に答える 1

1

マージンやパディングなどのいくつかのデフォルト設定は、癖と標準モードで異なります。
したがって、DOCTYPE宣言が元の宣言と同じであることを確認してください。

または、より正式には、元のページに標準モードをトリガーするDOCTYPE宣言がある場合、iframeのソースにもそのようなDOCTYPEが必要です。(同じモードをトリガーする限り、同一である必要はありません。)

于 2012-05-20T06:30:56.043 に答える