2016-06-13 3 views
1

ブラウザでjavascriptを有効にしていない場合、AJAX getを処理する最も良い方法は何ですか?javascriptがないときにAJAXを取得する

たとえば、画像のサムネイルをクリックすると、画像の詳細とズームされた写真を返すコントローラが表示されます。

私はこれをajaxで行い、同じページに詳細を表示したいと考えました。

しかし、私はユーザーがjavascriptを持っていないときにバックアップ方法を実装する方法がわかりません。

アンカーコンテナでクリックメソッドを委任して、何らかの形でバブリングを停止できますか?そして、アンカーが起動されると、javascriptが表示されません。詳細は同じページには表示されませんが、少なくとも表示されます。

+6

一般に、JavaScriptを使用しないでサイトを機能させたい場合は、JavaScriptを使用せずに完全な機能のサイトを作成します。次に、それを変更せずに、JavaScriptを追加してデフォルトの機能をオーバーライドします。たとえば、リンクをクリックすると、ユーザーが別のページに移動することがあります。 JavaScriptを使用すると、クリックハンドラをオーバーライドし、デフォルトのアクションを防ぎ、代わりにAJAXアクションを実行します。 – David

答えて

2

アンカーコンテナにclickメソッドを委譲して、何らかの形でバブリングを停止できますか?

基本的にはいです。画像の周りのリンク(または何でも)があります。

<a class="image-link" href="link/to/the/details">...</a> 

をとJavascriptでそれを処理:

はJavaScriptが有効でない場合、ハンドラをフックアップ、およびリンクが取得されていない
$(document.body).on("click", ".image-link", function(e) { 
    // We're handling it with ajax, don't do the default action 
    // (which is following the link) 
    e.preventDefault(); 
    // ...do the ajax stuff... 
}); 

続いた。 JavaScriptが有効になっていると、デフォルトの動作が妨げられ、リンクが守られず、代わりにajaxが実行されます。

関連する問題