インクルードを使用して、サイトのすべてのページに同じ jQuery コードを挿入しています。問題は、AJAX 呼び出しを行うときに、URL の相対リンクを設定すると、すべてではなく一部のページでのみ機能することです。
製品/リリース バージョンによって URL が変わるため、サイト ルートから AJAX URL を設定できません。
インクルード ファイルが正しい絶対 URL を持っていることを確認するために、すべてのリリースでインクルード ファイルを更新する必要はありません。
URL の構文は次のとおりです。<domain>/<product>/<version>/<content>
ディレクトリには、<content>
html ページと、より多くのページを含むサブディレクトリが含まれています。
ある URL は で<domain>/<product>/<version>/topics/green/goingGreen.html
あり、別の URL は である可能性があります<domain>/<product>/<version>/lists.html
。明らかに、AJAX 呼び出しの相対 URL は両方のページで機能しません。
絶対リンクを使用せずに、インクルードを介してサイト内のすべてのファイルに対して AJAX 呼び出しを機能させるにはどうすればよいですか?
ajax: {
url: '<absolute link> #' + $(this).text().toLowerCase(),
loading: false,
success: function (elems) {
if (elems.length) {
this.set('content.text', elems);
var $elems = $(elems);
} else {
this.destroy();
}
}
}
興味がある方のために説明すると、私は qTip を使用して特定のファイルからコンテンツをプルし、ユーザーが特定の用語にカーソルを合わせたときにポップアップするようにしています。