外部のウェブページをdivにロードする必要があります。iFrameを使いたくない。そして、私はこれをプレーンなJavascriptで実行したいと思っています。どうしたらいいのかわからない。
4 に答える
困難を伴う…</p>
Ajaxを使用して(たとえば、XMLHttpRequestを介して)ページを取得します。外部であるため、同一生成元ポリシーをバイパスする必要があります。
ページを作成したら、そのページの関連部分(おそらくbody
要素の子)を抽出し、それを既存のDOMに追加します。
サイトと外部のスタイルシートの違い、相対URI(外部サイトのリソースに対して、自分のものではない)、およびリモートコンテンツ内のスクリプトを考慮する必要があります。
どちらの方法でも、jsでは代わりにこれを試してください: $('#myid').load('mylink.com')
私はjsでこれだけを知っています。
javascriptも必要ありません-
ただし、異なるドメインをiframeに含める場合と同じ制限が適用されます。
<!doctype html>
<html lang="en">
<head>
<meta charset= "utf-8">
<title>test page</title>
</head>
<body>
<div>
<object type="text/html" data="http://validator.w3.org/" width="800px" height="600px" style="overflow:auto;border:5px ridge blue">
</object></div>
</div>
</body>
</html>
jQuery.get()メソッドを使用してページ内にhtmlページをロードできるはずです。私はクライアントの2つのWebサイトにこの方法を使用しています。ここでは、個々のページがサイトの異なるセクションになっています。
ヘッダー情報とbodyタグを含む完全なHTMLページをロードするこのメソッドを使用しようとすると、発生する可能性のある動作がわかりません。HTMLスニペットをロードするために使用することをお勧めします。