2011-02-09 11 views
1

私は2つのhtmlページ(メインと詳細)を持っています:メインページは、テーブルと空のdivで構成されています。ユーザーがテーブル行をクリックすると、別のページ(詳細ページ)のAJAXを介して空のdivが入力されます。Javascript ajax scripts in <head>?

詳細ページでGoogleマップを読み込みたいとします。また、AJAXだけではなく、ページ自体を運用する(スタンドアロン)ようにしたいと思います。だからここ

は私の問題です: 私は、HTMLの頭の中で、このスクリプトを含める必要がグーグルマップを使用するには:

<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script> 

私は詳細ページでこれを含めると、それは罰金スタンドアロンで動作します。しかし、メインページからAJAX経由で取得しようとすると動作しません。 Googleサーバーがハングし、処理が進まない。

一方、メインページに含めると、AJAXは正常に動作しますが、詳細ページは重要なインクルードがないため、単独では動作しません。

私は実際に詳細ページに残したいと思っています。そこにはるかに多くのロジックがあるからです。メインページの詳細ページからスクリプトをロードする方法はありますか?

一般的に、javascriptやAJAXを使った場合の最良のアプローチは何ですか?メインページにすべてを保存しますか?または、メインページにすべてをロードするメカニズムがありますが、コードをajaxedページに保持していますか?

Btw。私はjQueryを使用していますが、それは本当に重要ではありません。これは設計上の問題であり、ライブラリの問題ではありません。

+0

なぜページ全体が含まれていますか?あなたはちょうどボディを含むべきです、この方法では、スクリプトを再び含まないでしょう... – Luis

+0

ボディだけをロードすることはできません。私は地図の設定のように、そこにとどまる必要がある詳細ページに、センター、マーカー、道案内などの他のスクリプトもあります。 – ZolaKt

答えて

0

IFRAMEを使用していないので、詳細ページではなくメインページにJAVASCRIPTを含めることをお勧めします。できることはjsが機能するからです。これは私が思うに、ajaxの問題はあなたのために修正され、スクリプトは一度読み込まれます。

+0

はいIFRAMEが行います。私はちょうど彼らがAJAX上で非難されたと思って、それもAJAXでそれを行う方法が必要があります。はい、しかし、私が述べたように、詳細ページはそれ自身では機能しません。そして、私は両方の方法で作業する必要があります – ZolaKt

+0

私はまだIFRAMEを使用しないほうがいいと思って、メインページにjsファイルを保存してください。それ以外の場合は、IFRAMEを使用してjsを詳細に設定します。 – Aliostad

+0

メインページにすべてを残しておけば、詳細ページは単独では機能しません。そしてそれはする必要があります。印刷のために詳細ページ「フルスクリーン」を開くことができる必要があります。 – ZolaKt