14. ブラウザ API の活用
ブラウザ API (Application Programming Interface) は、JavaScript を使ってウェブブラウザ内でさまざまな操作を行うためのインターフェースを提供しています。この章では、代表的なブラウザ API とその活用方法について学びます。
14.1 DOM 操作
DOM (Document Object Model) は、HTML や XML ドキュメントの構造を表現するデータモデルです。JavaScript を使って DOM を操作することで、ウェブページの内容を動的に変更することができます。
14.1.1 要素の取得
DOM の要素を取得するための基本的な方法を紹介します。
// IDで要素を取得
const elementById = document.getElementById("myElement");
// クラス名で要素を取得
const elementsByClassName = document.getElementsByClassName("myClass");
// タグ名で要素を取得
const elementsByTagName = document.getElementsByTagName("div");
// CSSセレクタで要素を取得
const elementBySelector = document.querySelector(".myClass");
// CSSセレクタですべての一致する要素を取得
const elementsBySelectorAll = document.querySelectorAll(".myClass");
14.1.2 要素の操作
要素の内容や属性を変更する方法を紹介します。
// テキスト内容を変更
document.getElementById("myElement").textContent = "新しいテキスト";
// HTML内容を変更
document.getElementById("myElement").innerHTML = "<p>新しいHTML</p>";
// 属性を変更
document.getElementById("myElement").setAttribute("class", "newClass");
// スタイルを変更
document.getElementById("myElement").style.color = "blue";
14.1.3 要素の追加と削除
新しい要素の追加と既存の要素の削除を紹介します。
// 新しい要素の作成
const newElement = document.createElement("div");
newElement.textContent = "新しい要素";
// 要素の追加
document.body.appendChild(newElement);
// 要素の削除
const elementToDelete = document.getElementById("myElement");
elementToDelete.parentNode.removeChild(elementToDelete);
14.2 イベントハンドリング
ユーザーの操作(クリック、スクロール、入力など)に応じて動作を実行するイベントハンドリングについて学びます。
14.2.1 イベントリスナーの登録
イベントリスナーを登録して、特定のイベントに応じた動作を実行する方法を紹介します。
// クリックイベントリスナーを登録
const button = document.getElementById("myButton");
button.addEventListener("click", function () {
alert("ボタンがクリックされました");
});
14.3 Fetch API
Fetch API は、ネットワークリクエストを行うための新しい標準的な方法を提供します。
14.3.1 基本的な使用方法
以下は Fetch API を使った基本的な GET リクエストの例です。
fetch("https://api.example.com/data")
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error("エラー:", error));
14.3.2 POST リクエスト
POST リクエストを送る方法を紹介します。
fetch("https://api.example.com/data", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ key: "value" }),
})
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error("エラー:", error));
14.4 ローカルストレージとセッションストレージ
ブラウザにはデータをクライアントサイドに保存するための API として、ローカルストレージとセッションストレージがあります。
14.4.1 ローカルストレージ
ローカルストレージは、ブラウザのローカルにデータを永続的に保存するための簡易的な方法を提供します。
// データのセット
localStorage.setItem("key", "value");
// データの取得
const value = localStorage.getItem("key");
// データの削除
localStorage.removeItem("key");
14.4.2 セッションストレージ
セッションストレージは、ブラウザのセッション(タブやウィンドウ)が終了するまでの間のみデータを保持します。
// データのセット
sessionStorage.setItem("key", "value");
// データの取得
const value = sessionStorage.getItem("key");
// データの削除
sessionStorage.removeItem("key");
14.5 Geolocation API
Geolocation API を使って、ユーザーの位置情報を取得する方法を紹介します。
14.5.1 現在の位置情報の取得
Geolocation API は、現在の位置情報を取得するための簡単な方法を提供します。
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function (position) {
console.log("緯度:", position.coords.latitude);
console.log("経度:", position.coords.longitude);
},
function (error) {
console.error("エラー:", error);
}
);
} else {
console.error("Geolocationはこのブラウザでサポートされていません");
}
この章では、ブラウザ API を活用したウェブアプリケーション開発の基本を学びました。実践的なコード例を試しながら、実際に手を動かして理解を深めてください。