• 締切済み

Ajaxで外部サイトの取り込み

Ajax非同期通信、例えばJQueryの以下の様にyour-web-siteをページ内に取り込んだ場合、cssやjavascriptのパスが相対パスで指定されているのが原因で正しく表示されない場合があります。通常のhtmlで静的に取り込む場合は<iframe>で取り込むか、<base href="...">などを用いて相対パスを絶対パスに変換するのですが、Ajaxで動的に取り込む場合のうまい方法がわかりません。 よいアイデアや方法があればご教示ください。 --- javascript---- $(function (){ $("#a").load("http://your-web-site/"); }); ---- html -------- <div id="a"></div> ------------------

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.3

html内にinsertするまえに、自分でDOMで書き直すしかないと思います。うまい方法はないんじゃないかなあ。私が知らないだけかもしれないので自信無しですが。 あと、読み込む中にcssやjavascriptがあったとするとそれは読み込んだ部分だけじゃなくてドキュメント全体にかかりますけど。そういうわけで、自分が自由にならない「あらかじめ書かれたhtml」を動的に読み込むのはあまり普通ではない気がします。

  • pick52
  • ベストアンサー率35% (166/466)
回答No.2

回答じゃないんですが、もし自分が管理していない外部のサイトを 自分のサイトに取り組みたいというのならそれは様々な問題が 発生しうるのでやめた方が無難だと思います。 これはフレームなどの直リンクの場合と同様ですね。 http://ja.wikipedia.org/wiki/%E7%9B%B4%E3%83%AA%E3%83%B3%E3%82%AF

noname#75656
noname#75656
回答No.1

JSONPとかなら・・・

参考URL:
http://fnya.cocolog-nifty.com/blog/2006/12/ajax_cc50.html

関連するQ&A

専門家に質問してみよう