静的ページ javascript


ログインして、MDNアカウントの特典をお楽しみください。アカウントを作成していない場合は、ログイン後、作成を促されます。, Dynamic Websites – Server-side programming, Assessment: Structuring a page of content, From object to iframe — other embedding technologies, HTML Table advanced features and accessibility, Assessment: Typesetting a community school homepage, Making decisions in your code — Conditionals, Assessment: Adding features to our bouncing balls demo, General asynchronous programming concepts, Cooperative asynchronous Java​Script: Timeouts and intervals, Graceful asynchronous programming with Promises, Making asynchronous programming easier with async and await, CSS property compatibility table for form controls, CSS and JavaScript accessibility best practices, Assessment: Accessibility troubleshooting, React interactivity: Editing, filtering, conditional rendering, Ember interactivity: Events, classes and state, Ember Interactivity: Footer functionality, conditional rendering, Adding a new todo form: Vue events, methods, and models, Vue conditional rendering: editing existing todos, Setting up your own test automation environment, Tutorial Part 2: Creating a skeleton website, Tutorial Part 6: Generic list and detail views, Tutorial Part 8: User authentication and permissions, Tutorial Part 10: Testing a Django web application, Tutorial Part 11: Deploying Django to production, Express Web Framework (Node.js/JavaScript) overview, Setting up a Node (Express) development environment, Express tutorial: The Local Library website, Express Tutorial Part 2: Creating a skeleton website, Express Tutorial Part 3: Using a database (with Mongoose), Express Tutorial Part 4: Routes and controllers, Express Tutorial Part 5: Displaying library data, Express Tutorial Part 6: Working with forms, Express Tutorial Part 7: Deploying to production, JavaScript とは何か、何ができるか、どのようにウェブサイトに適用できるかについて親しむ。, 連なった文字 (プログラミングでは「文字列」と呼ばれます) に対する操作。上の例では「Player 1: 」という文字列と, テキストエディターとウェブブラウザーでそのファイルを開いてください。クリックできるボタンが 1 つあるウェブページを作る HTML だということがわかりますね。, ファイルを保存してブラウザーを更新してください。ボタンを押す度に新しい段落が作られて、下に表示されるようになりましたね。, まず、先ほどの HTML ファイルと同じディレクトリーに新しいファイルを作ります。これを, HTML ファイルを保存して、ブラウザーを更新してください。同じページが見えますね! 同じように動いていますが、今回は外部の JavaScript ファイルです。コードを整理して、複数の HTML ファイルから再利用できるようにするには、このようにするのが良いでしょう。大きなスクリプトの塊がないほうが、HTML も読みやすくなります。. ではどのようにWebページを表示させているかについてですが、 例えば、ユーザーがGoogleで何か検索したいなと思った時、ブラウザ上のURL欄に https://www.google.comと入力してアクセスすると思います。 実際にアクセスしたらGoogleのページは一瞬で表示されますが、クライアントとサーバー間で見た場合、 ユーザーがGoogleのページにアクセスしようとする間に以下のようなやりとりが行われます。 1.

Get the latest and greatest from MDN delivered straight to your inbox. JavaScript はウェブページにて複雑な機能をできるようにするプログラミング言語です —ウェブページが読み込まれるたびに、単にあなたが見ている静的な情報を表示する以上のことをしています— 更新されたコンテンツの定期表示や、インタラクティブな地図や、2D/3D グラフィックのアニメーションや、ビデオジュークボックスのスクロールなど — たぶん JavaScript が組み込まれています。ウェブ技術をケーキだとするとこれは 3 つ目の層で、他の 2 つ (HTML と CSS) は学習エリアの他の部分でもっと詳し … © 2005-2020 Mozilla and individual contributors. Gatsby, Inc.(2015年設立)が開発、シリコンバレーにある. WebクライアントがWebサーバーにRequestメッセージを送信 2. この 3 層は素晴らしい構成です。例としてシンプルなテキストラベルを見てみます。HTML を使って構造と意図をマークアップできます: テキストラベルの最新バージョンをクリックしてみて、何が起きるのか見てみます (このデモは GitHub でも見られます— ソースコードを見るかライブ実行するか)!, JavaScript はそれ以上のことができます — もっと詳しく見てみましょう。, JavaScript は次のことを実現する一般的なプログラミング機能で構成されています。, さらにワクワクするのは、JavaScript からすぐに使えるように構築されている機能です。それは Application Programming Interface (API) と呼ばれ、JavaScript のコードにさらなる強力な力を与えてくれることでしょう。, API がなければ難しかったり、不可能であるようなコードを、すぐに使えるブロックのように、開発者がプログラムを作ることを可能にします。家を作るときの既製の家具と同じことを、プログラミングでしてくれるのです。自分で設計し、使用する木材を選定し、正しい形で板を切り出して、正しいサイズのネジを見つけて、自分で組み立てるよりも、既に切り出されたボードとネジを使って本棚を組み立てるだけの方がずっと簡単ですよね。, ブラウザー API はウェブブラウザーに組み込まれていて、コンピューターを取り巻く環境からデータを取り出したり、複雑で便利なことをしてくれたりします。例えば、, 注: 上記の多くは古いブラウザーでは動作しません。試すには Firefox、Chrome、Edge、Opera といったモダンなブラウザーを使うのがよいでしょう。プロダクションコードを提供する (顧客に実際のコードを納品する) 段になったら、クロスブラウザーテストを読んでみるとよいでしょう。, サードパーティ API はブラウザーには組み込まれておらず、さらに普通は Web上のどこかからそのコードと情報を探さなければなりません。例えば、, 注: このような API は先進的ですが、このモジュールでは扱いません。詳しく知りたければ Client-side web APIs module で扱っています。, ワクワクすることはもっとたくさんあります! ですが、まだ興奮しすぎないでください。24 時間程度の勉強だけでは、Facebook や Google マップや Instagram は作れません。まずはやらなければならない基本がたくさんあるのです。さあ、先に進みましょう!, まずは実際にコードを見てみましょう。そしてページで JavaScript を動かすと何が起きるのか見てみましょう。, ブラウザーをウェブページに読み込んだときの話を簡単に説明します (How CSS works の記事で最初に出てきました)。ウェブページをブラウザーで見たとき、実行環境 (ブラウザーのタブ) の中で、コード (HTML、CSS そして JavaScript) が実行されます。これは素材 (コード) を加工して製品 (ウェブページ) を出力する工場のようなものです。, JavaScript のごく一般的な用途は、(先ほど例示した) Document Object Model API を介して動的に HTML と CSS を変更し、ユーザーインターフェイスを更新することです。なお、ウェブドキュメント上のコードは通常、ページ上に現れる順序で読み込まれて実行されます。もし JavaScript がロードされ、影響を受ける HTML および CSS がロードされる前に実行しようとすると、エラーが発生する可能性があります。この回避策については、記事の後半の「スクリプトの読み込み方針」セクションで学習します。, ブラウザーのそれぞれのタブは、コードを実行するための入れ物を個別に持ちます (この入れ物を技術的用語では「実行環境」と呼びます)。つまり、それぞれのタブ内でコードは完全に分かれて実行されており、あるタブで動いているコードは他のタブや他のウェブサイトのコードに、直接的には干渉できません。これは良いセキュリティ対策です。互いに干渉することが出来てしまえば、Web の悪党たちは、他のタブで開いているウェブサイトから情報を盗み出したり、もっとひどいことをするためにコードを書き始めることでしょう。, 注: 他のウェブサイトや、タブに安全にデータや実行可能なコードを送る方法はあります。けれども、このコースでは扱わない高度な技術です。, ブラウザーが JavaScript のブロックを見つけたとき、たいていは先頭から最後に向かって順番に実行されます。つまりどの順番で実行されるかということに気を配らなければなりません。例えば、最初の例で見た JavaScript のブロックに戻りましょう。, このコードでは文章段落を選択して (1 行目)、イベントリスナーを登録して (3 行目) 段落がクリックされたとき、updateName() というコードブロック (5 行目から 8 行目) が実行されるようにしています。updateName() というコードブロック (再利用可能なコードブロックで「関数」と呼びます) は、ユーザーに新しい名前を尋ねて、表示内容を変更するため、段落にその名前を挿入します。, もし、最初の 2行を入れ替えた場合、動かなくなってしまいます。代わりにブラウザーの開発者コンソールに TypeError: para is undefined というエラーが出るでしょう。この意味は para オブジェクトがまだ存在しないため、イベントリスナーを設定できないということを表しています。, 注: これはとてもよくあるエラーです。オブジェクトに対して何かをする前にはそのオブジェクトへの参照が存在していることに気を配らなければなりません。, もしかしたら、インタープリタとコンパイルという用語をプログラミングの文脈で聞いたことがあるかもしれませんね。インタープリタでは、コードが上から下に実行されてコードの実行結果がすぐに返ってきます。ブラウザーが実行する前にコードを何らかの形に変換する必要はありません。コードはプログラマーに親しみやすいテキストで受け取って、それから直接処理されます。, 反対に、コンパイル言語はコンピューターで実行する前に他の形式に変換 (コンパイル) しなければなりません。例えば C/C++ は機械語にコンパイルされてから、コンピューターで実行されます。プログラムは、元のプログラムソースコードから生成されるバイナリーフォーマットで実行されます。, JavaScript は軽量なインタープリタ型プログラミング言語です。ウェブブラウザーは元のテキストの形で JavaScript コードを受け取り、それからスクリプトを実行します。技術的な見地からは、たいていの JavaScript インタープリタは just-in-time compiling というテクニックを使ってパフォーマンスを向上させています; スクリプトが使われるときに、JavaScript コードが速いバイナリーフォーマットにコンパイルされて、可能な限り高速に実行されます。しかし、JavaScript は、事前ではなく実行時にコンパイルされるために、インタープリタ言語と考えられています。, サーバーサイドとクライアントサイドという言葉も聞いたことがあるかもしれません。特に Web開発でよく聞かれます。クライアントサイドコードはユーザーのコンピューター上で実行されるコードです。ウェブページを見ているとき、ページのクライアントサイドコードがダウンロードされて、ブラウザーで実行されて表示されます。この JavaScript モジュールのことを明示的にクライアントサイド JavaScript と言います。, 反対に、サーバーサイドコードはサーバー上で実行され、結果がブラウザーにダウンロードされて表示されます。Web で人気のあるサーバーサイドの言語は、PHP、Python、Ruby や ASP.NET など。そして JavaScript です! JavaScript はサーバーサイドの言語としても使われます。人気のある Node.js 環境がその例です。サーバーサイドの JavaScript については Dynamic Websites – Server-side programming のトピックを見てください。, クライアントサイドの JavaScript と、サーバーサイドの言語を説明するのに動的という言葉を使います。これはウェブページやウェブアプリが必要に応じてコンテンツを生成し、異なる状況において異なる表示ができるという能力を指しています。サーバーサイドのコードは、データベースからデータを取得して動的にコンテンツを生成します。一方、クライアントサイドの JavaScript はクライアント上のブラウザーで HTML のテーブルを生成したり、そのテーブルにサーバーから指示を受け、データを追加したり、ウェブページ上でユーザーにテーブルを表示したりするなどして、動的にコンテンツを生成します。それぞれの文脈で、少し異なる意味合いではありますが、関連しています。そしてどちらの方式も (サーバーサイドもクライアントサイドも) たいていは同時に使用されます。, 動的に更新されるコンテンツを含まないウェブページは静的と表現されます。静的なウェブページとは常に同じコンテンツを表示するページのことです。, JavaScript は CSS と同じような方法で、HTML ページに適用することができます。CSS では 要素を使用することで外部のスタイルシートを適用することができ、また、