2011-08-11 4 views
0

この質問は閉鎖されるかもしれませんが、私はブレーンストーミングのセッションを少し探しています。AJAXにするかAJAXにしないでください

私は自分の記事のポートフォリオサイトを設定しています。自分のRSSフィードを通じて投稿されたサイトからすべての記事を直接フィードに取り込みます。

このサイトはWordpressを使用していますので、私はショートコードを使用して記事がどのサイトから来たのか、AJAXかPHPを使ってRSSを取り込んで解析します。

RSSフィードのurlをdata属性、data-content-url = ''としてdivを設定することができます。または、PHPで解析関数を記述して、ショートコードパーサ。注意しておきますが、私はPHPで非jsユーザのために解析していますが、問題はAJAXの進歩的な拡張を気にするかどうかです。

AJAXは、ページを読み込んで後でフィードを読み込むことができるので、ページの読み込み時間を短縮できるという利点がありますが、私はPHPのショートコードを使って作業しているときに、私はそれがあった間すべてそれ。私が正直であればAJAXをしたい主な理由は、新しい複数のリクエストAPIを.when.done

+0

あなたはそれが好きかどうかを確認してください。建設的ではないと投票した。 – Fosco

+0

これはブログではなく、本当にQ&Aです。これのためのよりよいstackexchangeフォーラムがあるかもしれません。 –

+0

私は私の答えに懸命に従事しているので、人々はこれを閉じないように願っています! :) –

答えて

1

と試してみることです。私はいつも同じことをAJAXにする必要があります。

あなたはAJAXに依存しない方法でアプリケーションを作成する必要があります。これは、jsが無効になっている場合や、何かがうまくいかない場合にどうなるかといった多くの理由です。皆がjavascriptを有効にしていると仮定すると、それを無効にしている人の約5%が失われます。最高のデザインは、AJAXをウェブサイトの拡張機能として使用することです。それはどういう意味ですか?

<a href="some_page.html" ajax="true">To another page</a> 

これは、必要とする基本的なHTMLです。ここには、ユーザーがそれを使用するためにjavascriptを必要とするものはありません。

は今、あなたは上記のデザインで

$("a[ajax=true]").click(function(){ 
    $("#content").load(this.url + " #content > *); 
}); 

を行うことができます有効にJSを持っていない人のために上記の体験を向上させるために、誰もがあなたのウェブサイトを使用してHAVAはより良い経験が表示されます有効にJS人とすることができます。

また、​​メソッドの機能を使用して、リモートページの一部を読み込むことができます。この方法で、複数のページを作成する必要はありません。

+1

@Amirが言うことに加えて、[Unobstrusive JavaScript](http://en.wikipedia.org/wiki/Unobtrusive_JavaScript)を読んでください。たとえあなたがユーザーの5%を失う余裕があっても、ウェブスパイダーについて考える... –

1

アミールはいくつかの点を強調しています。私が現在、非常に貴重なサイトの再構築/再設計を最初からやっていることを考えると、AJAXの使用は慎重に検討したものでした。私はAJAXの使用を好む一方で、可能な限り2つの状況が特にありますが、少なくともそれを使用しない場合、または少なくとも確実に堅実なフォールバックがあることを確認します。

最初は残念ながら、アミールの例です。ページは、フルページを提供するページへの実際の要求と共にロードされるべきである。私が時々これをやっていない唯一の場所は、SEOに関する懸念がない管理者インターフェースです。 Amirは、ページがAJAX経由でロードされないようなフォールバックを提案していますが、これは実際にサイトとユーザーエクスペリエンスの複雑さを増やすケースです(戻るボタンは機能しません。ブラウザの履歴を扱うライブラリを使用して、AJAXバージョンの機能を維持しておく必要があります)。

私が常にフォールバックがあることを確認しようとする2番目の状況は、あらゆる種類のフォームです。コメント、電卓、または収益を生む収益のために、フォームはユーザーがあなたのサイトとやり取りする重要な方法です。理想的には、可能な限り適切な形で、(AJAX)で行わなければなりません。それは一般的にあなたが良いロードGIFなどを追加することができるようにユーザーエクスペリエンスを向上させる...良いユーザーのフィードバックは、主要なプラスであり、ページが表示されるまで、ブラウザを乱暴に見ている以外のAJAXバージョンよりはるかに優れています。

フォームが主要な相互作用点であるため、あなたはそれらを壊す余裕がないので、いつもがAJAXなしで動作するはずです。 5%のユーザーの問題でもありません。そのうちのいくつかは実際には実稼働環境でサイトをテストしています:-P)javascriptを無効にしています。あなたのjavascriptにエラーがある場合はどうなりますか?または、すべてのブラウザに存在しない関数を使用したことがあります。ブラウザのjavascriptエラーですか?このような状況では、フォームは引き続き動作するようにして、AJAX以外のバージョンにフォールバックすることが重要です。

私の助言は、常にAJAXなしで動作するようにサイトを構築し、AJAXを使用して改善できると思われる場所を探し、それを上のレイヤーとして追加することです。これは、あなたがjavascriptの下で、あなたのサイトが堅実であるという自信を与えるのに役立ちます。

+0

これはtwitterとfacebookの例です。すべての邪悪なページには嫌な思いがする。どうして? –

関連する問題