でajax化されたlink_to
ヘルパーがありremote: true
ます。
リンクがレンダリングするコンテンツは計算量が多いため、リンクをクリックするとコンテンツが瞬時にレンダリングされるように、そのコンテンツをプリロードしたいと考えています。
これを達成するにはどうすればよいですか?できれば。
更新
非同期でロードしたいです。つまり、現在のページがロードされて最初に全体が表示され、次にリンクされた URL のコンテンツがプリロードされます。
でajax化されたlink_to
ヘルパーがありremote: true
ます。
リンクがレンダリングするコンテンツは計算量が多いため、リンクをクリックするとコンテンツが瞬時にレンダリングされるように、そのコンテンツをプリロードしたいと考えています。
これを達成するにはどうすればよいですか?できれば。
更新
非同期でロードしたいです。つまり、現在のページがロードされて最初に全体が表示され、次にリンクされた URL のコンテンツがプリロードされます。
span や div などの非表示の html 要素にコンテンツを配置します。
<span id="mycontent" style="display:none">Some content</span>
表示する必要がある場合は、コンテンツをスパンで選択するだけです
$("span#mycontent").html();
どこでも使用できます。
メイン ページの終了後にロードするには、次の Javascript スニペット (jQuery フレーバー) を使用します。
$(document).ready(function() {
$.ajax({ url: "<%= your_path_to_action %>",
data: { param1: <%= your_param %> },
success: function(response) { $('#hidden_div').html(response); }
});
});
このコードは、ページの読み込みが完了すると AJAX リクエストを起動します。次に、success
ハンドラーは、techvineet が正しく提案したような隠し要素に応答を配置します。ボタンを使用して、非表示の div のコンテンツをコピーする (または表示する) ための別の JS 関数を実行します。