0


0

<script>タグからのサービス側コードの参照

私は以前にどこでアイデアを得たのかわかりませんが、1年前に私はこれをphpで書きました:


これで、このWebサイトをASP.NET MVC Webサイトに変換する準備が整いました。これをより「通常の」ものに変換する最良の方法は何だろうと思っています。

どこで考えることができるオプション:

  1. .jsファイル用のカスタムHttpHandler

  2. スクリプトタグを使用し続けますが、アクションへのカスタムルートを使用します

  3. JavaScriptを変更して、ajax呼び出しを使用してサーバーサイドデータをロードする

getmarkers.phpが現在行うことは、Googleマップにマーカーを追加するためのJavaScriptを生成することです。 スクリプトタグ内でphpを参照する利点は、

  1. キャッシュされたことはなく、マーカーは常に最新です_(私はそこに知っています 選択肢です)_

  2. 私のhtmlをjavascriptからクリアに保ちます

  3. 生成されたマーカーの特定のフィールドを追加/削除するのは非常に簡単

生成されているものの例:

infoWindows[0] = new google.maps.InfoWindow({
    content: '...html content for this specific marker...'
});

google.maps.event.addListener(markers[0], 'click', function() {
    infoWindows[0].open(map, markers[0]);
});

変更されるのは、インデックス(この例では0)とhtmlのコンテンツです。

質問 + 1。 最適なソリューションは+ 2だと思います。 サーバーサイドの「ファイル」を呼び出してスクリプトを参照するのは悪いことですか?

1 Answer


1


サーバーで生成された.jsファイルを埋め込むことにマイナス面はありません。 私は個人的に「カスタムルート」オプションを選択して、生成されたファイルであることを明確にし、 `.js`拡張子を静的リソースのままにします。

ただし、JSONのような純粋なデータ形式でマーカーを提供し、Ajaxを使用してマーカーを読み込むと、次の利点があります。

  • 再利用可能な中立的な「メタ形式」のデータがある 新しいデータソースを構築する必要のない他の場所

  • 読み込み/ HTML生成プロセスを1か所に保持できます。 サーバー側スクリプトでのHTMLの外観を制御する代わりに、親ページまたはその静的スクリプトの1つ

  • 転送されるデータの量はおそらく減少します

  • 全体的にきれいです