0

javascript を使用せずに、外部ページ (同じ Web サイト/ルート内のページ) から div にコンテンツをロードする方法があるかどうかを知りたいですか?

このサイトでは多くの jquery load() を使用していますが、javascript を有効にしなくても利用できるページがあります。ページ全体をリロードするのではなく、そのコンテンツをロードする方がWebサイトの構造にはるかに適しているはずなので、JavaScriptを使用しないソリューションがあればそれを探しています。

例: コンテンツをロードしたいIndex.html #get_contentdiv は で、コンテンツを含むページと div は ですContent.html #send_content

ありがとう。

4

2 に答える 2

2

JSを使用せずにクライアントでそれを行う唯一の方法は、divにiframeを配置することです。

DumbSearchが指摘したように、サーバー上のコンテンツをスクレイプし、サーバー側のDOM解析ツール(サーバーによって異なります)を使用して、必要なコンテンツを取得し、ページに貼り付けることができます。関連するJSとCSSをフェッチするのはあなたの責任であり、一部のセレクターはJSと同様に、存在する親/祖先ノードに依存する可能性があるため、CSSが機能しない可能性があることに注意してください。

于 2013-01-08T06:12:40.180 に答える
1

jQuery load() は、サーバー側でこれを実現する最良の方法です。

次のようにiFrameを使用できます。

<iframe src="http://example.com/something.html"></iframe>

iFrame幅、境界線、高さなどを調整するために使用できるプロパティがたくさんあります。

HTML5 以降 (Chrome のみがこれをサポートしています)、このプロパティを使用して、ドキュメント内のウィンドウの代わりにseamless、ドキュメントの iFrame 部分を作成できます。load()

通常、PHP はプロジェクトにカット アンド ペーストするのが非常に簡単なサーバー側言語であり (別の競合するサーバー言語に依存している場合を除きます)、次のようなことを行うことができますload()

<?php
$homepage = file_get_contents('http://example.com/something.html');
echo $homepage;
?>

編集: Juan Mendes が指摘したように、PHP (または任意のサーバー言語) を使用した場合、関連する JS および CSS を取得する責任があり、一部のセレクターが親に依存する可能性があるため、CSS/JavaScript が機能しない可能性があります。 /ancestor ノードが存在します。iFrame では、サイトからコードをスクレイピングしてページに出力するサーバー言語パーサーとは異なり、ドキュメント内の外部ページを表示するだけです。

于 2013-01-08T06:18:07.447 に答える