Javascript なしで動作するページから始めて、Javascript の奇抜さを追加し、最後に Ajax を少し追加したいと考えています。
これはすべてのものをきれいに保つようです。私はそれを使った最初の実験にとても満足していました. 次に、次の問題に遭遇しましたが、これには適切な解決策がありません。これらの 2 つのサンプル ページの場合:
<!-- /products/ -->
<ul>
<li>
Product A thumbnail
<a href="/details/1/">Details for A</a>
</li>
<li>
Product B thumnail
<a href="/details/2/">Details for B</a>
</li>
</ul>
<!-- /details/<id>/ -->
<script type="text/javascript" src="/details.js/"></script>
show details about the product with the given id
details.js will unobtrusively enhance it
欲しい機能
Ajax を使用して、/products/
ページ上の製品の詳細の一部を動的に読み込みます (たとえば、サムネイルにカーソルを合わせたとき)。/details/<id>/
より正確には、ページ上のの簡略化されたバージョンを取得して表示し/products/
ます。
目立たない実装
写真をホバリングするときhref
に、対応するアンカーの属性に対して Ajax リクエストを行います。サーバーはページ全体で応答でき/details/<id>/
、JQuery セレクターは興味深い部分だけを切り取ることができます。または、サーバーはリクエストが特別であることを認識し、興味深い部分だけを返すこともできます。これまでのところ、簡単できれいです。
問題
/details/<id>/
ページは単なる HTML ではありません。見栄えを良くするために独自の Javascript も用意されていたので、その Javascript を/products/
ページで再利用したいと考えています。/products/
そのため、HTML をフェッチするだけでなく/details/<id>/
、本格的なページに存在する Javascript の動作も複製したいと考えてい/details/<id>/
ます。
私が考えることができる唯一の(悪い)解決策
ページをロードするときにブラウザーが行うことを複製する明示的なコードを記述し/details/<id>/
ます<script>
。これは、正しく理解するのが難しいと思われる多くの定型的なものです。結果は単純ではないので、明らかに書きたくありません。
また、目立たない Ajax に本当に固執している場合に非常に頻繁に発生する種類の問題であり、それに対するより洗練された解決策があるはずだとも感じています。