2012-02-14 8 views
1

私は数ヶ月間自分でウェブサイトを作っていますが、サイトにJavascriptを追加する方法のコンセプトを理解していますが、私は本当にそれについて最善を尽くす方法に苦労していますいくつかの経験豊富な開発者の意見/アドバイス。ウェブサイトにJavascriptを追加する

私は無数の時間を読みましたので、最初にプレーンなサイトを構築してからJavascriptを追加するのがベストプラクティスです。そうすれば、サイトは何に関係なくかなり機能します。アニメーションのようなもの、基本的にはページ上で動作するJavaScriptのための素晴らしいアイデアです。

ただし、サーバーで生成されたコンテンツを持つサイトがある場合。そして、あなたのページの読み込み時間を短縮するために、ajax呼び出しを介してコンテンツの一部をロードしたいと考えています。どのようにサイトに追加するつもりですか?

あなたが知っている限り、あなたのクライアントは、ページがリフレッシュされるときにあなたのクライアントがJavascriptを有効にするか無効にするかを知ることができません。したがって、サーバーにコンテンツを残すことはできません。しかし、すべての情報をクライアントに送信すると、ページにajaxは必要ありません。

この場合、どのように通常どおりに動きますか?バージョンとのリンクを作成し、そのバージョンをロードするサーバーに信号を送りますか? それでも、ユーザーがリフレッシュ時にスクリプトを有効にするかどうかはわかりません。

または、スクリプトを無効にしているユーザーを無視しますか?

+3

多分、[webmasters](http://webmasters.stackexchange.com/)がこの質問のためのより良いフォーラムになります。 –

+3

Google「プログレッシブエンハンスメント」あなたはこれを議論する無限の記事を見つけるでしょう。 –

答えて

1

JavaScriptがそのサイトを作成するにそんなに努力を集中すること、時には賢明であることを潜在的なので、多くの追加のためのコンテンツ、プリロードイメージをお勧めすることはできませんが、にあなたが本当にしたい場合それを無効にしている少数のユーザーには完全に機能します。

一般的に、サイトの計画段階では、にはが必要な機能と、アニメーションや動的コンテンツの読み込みのような機能拡張がいくつかあります。 にはが必要ですが、残りのコンテンツはJSが有効になっている訪問者に制限されています。

すべての重要なコンテンツに誰かが何らかの形でアクセスできるようにサイトを構築しますが、JavaScriptを必要とする「エクストラ」については、貴重な時間を無駄にしません1%私の訪問者のためにケータリング。

+0

ありがとう、ここにはたくさんの便利なものがありますが、あなたの答えは最も近いです。 –

0

1)個人的に私はjavascriptのない人は無視します。

2)Webパーツをロードすることは個人的な味ですので、ハードコアモードが必要な場合は別のWebパーツをロードすると、変数/ IDとクラス名の衝突が起こる可能性がありますので注意してください。

+1

JavaScriptを使用しないユーザーを無視することは、インタラクションのみに焦点を当てていない限り、悪い考えです。関係なく、コンテンツを表示できるようにする必要があります – Hawken

+0

おそらく私は非jsユーザーに多くの時間を費やさないように言い換えるべきです。または、サイトでJSが有効になっている必要があるとアドバイスします。 –

+0

もしjavascriptを使わない人を無視するのが悪い考えであれば、おそらくie6もサポートしたいと思うでしょう。あなたがどれくらいの時間を持っているか、どのユーザーをターゲットにしているか、サイトがどれくらい完璧なものになるかによって異なります。 –

1

技術はJavaScriptを使用していないユーザーから遠ざかっています。そのため、技術は無視されることがあります。

しかし、これらのタイプのユーザーをサポートする必要がある場合は、クリックしてajaxを読み込んだときにHTMLリンク/ボタンをインターセプトするのが一般的です。ユーザーがjavascriptを持っていない場合、リンク/ボタンは正常に動作します。

このタイプの「遮断」の概念は、プログレッシブエンハンスの概念で網羅されています。

+0

プログレッシブなエンハンスメント...私は正しいことをグーグルで見つけていないことを知っていました。私はそれを見上げるでしょう。ありがとう。 –

1

視覚的には、少なくともAJAXの読み込みは、技術的な面からは別のGETリクエストを使用しているので理にかなっています。

JavaScriptはコンテンツをインタラクティブに読み込むために予約する必要があります。

私は他の「ページ」

1

StackOverflowのは、おそらく質問のこの種を依頼するのに最適な場所ではないように私は、マイク・サミュエルのアドバイスに耳を傾けるでしょう。

まず、あなたのウェブサイトの性質がどのようになるかを自問する必要があります。 Javascriptに依存することは、あなたの潜在的な視聴者の一部(幸いにも、毎日少ない)をシャットアウトするので、めったに良い考えではありません。 Gmailなどのウェブアプリケーションでは、これは理にかなっていますが、サイトの機能に不可欠なことをJavascriptで行うことを視聴者に要求する必要はありません。

別の利用可能な技術やウェブサイトの開発でその場所を知ることも重要です。もちろん、ビッグ3は以下のとおりです。

  • HTML:コンテンツ
  • CSS:プレゼンテーション(あなたはJavascriptが、それは不可欠でない限り)(アニメーションを使用し ないたいところこれはおそらくです)
  • Javascriptを:インタラクション

CSS、Javascriptなどを使用せずにウェブサイトを完全に機能させるようアドバイスしてから、その技術を追加してみましょう。それは誰もが少なくともあなたのコンテンツを見ることができるようにするための確実な方法です。

0

javacriptを有効にしているユーザーの数はですが、ではjavascriptを無効にするユーザーがセキュリティホールを開くことはできません。 @Hawkenごとに編集:また、javascriptが無効の場合、通常はユーザーに表示されるコンテンツを到達不能にしないでください。

Javascriptが非常に汎用性があり、そのようにそれは多くの異なる方法で使用されています。 Javascriptを使用すると、イメージをクライアントのキャッシュにプリロードし、より柔軟な相互作用を実現できます。

Javascriptがページの他のコンテンツを置き換えるまたは重複動的コンテンツを容易にするために使用することができます。あなたは、サーバーを照会し、ページ全体を更新せずに戻ってデータを取得したいとき

AJAXは素晴らしいです。これを行うには他にも方法がありますが、通常はフレームワークを使用します。

AJAXはまた、あなたが動的に遠隔地からそのようなページのセクションとしてスクリプトやその他のデータをロードしたい場合に適しています(同じドメインまたは他のドメインから - 他のドメインが複雑になることができます。)

経験則として、クライアント側のブラウジングを強化するためにJavaScriptを使用

+0

もちろん、これらのフレームワークは通常xmlhttprequestを採用しています;) –

+0

@JeffreySweeney - はい:)私はまた、サーバー側のフレームワークについても話していました。 asp.net mvcでは、ページをリロードせずに実際に再レンダリングできる部分的なビューを作成できます。 –

関連する問題