ブラウザを操作するビルトインオブジェクト
ブラウザ操作のためのAPI
MDNのWindowインターフェイス内に記述してある プロパティやメソッドを使ってブラウザを操作する
*インターフェイス=オブジェクトと捉えて良い
メソッド(抜粋)
alert
画面にアラートを表示
alert('hoge');
confirm
返り値を受け取れる(trueかfalse)
let result = confirm('are you sure');
console.log(result); // ユーザーの返答でtrueかfalseに変わる
prompt
返り値を受け取れる(文字列)
let result = prompt('you name','hoge');
console.log(result); // ユーザーの入力値が返される
setTimeout
oo秒後に関数を実行
setTimeout(()=>{
console.log('hello');
},1000);
取り消す
// setTimeoutにはユニークなIDが返される
let itmerID = setTimeout(()=>{
console.log('hello');
},1000);
// 対象のIDを指定して削除できる
clearTimeout(timerID);
setInterval
oo秒ごとに繰り返す
// 1秒ごとに実行してずっと続く
setInterval(()=>{
console.log('hello');
},1000);
取り消す
let itmerID = setInterval(()=>{
console.log('hello');
},1000);
// 対象のIDを指定して削除できる
clearInterval(timerID);
プロパティ(抜粋)
navigator
ブラウザやOS情報を取得できるオブジェクト
navigator.userAgent; // OSやブラウザ情報を取得
navigator.languege; // 言語設定を取得
navigator.clipboard; // 保持情報を取得
navigator.credentials; // javaScriptから保存されているパスワードを取得
screen
デバイスの情報を取得
screen.width; // デバイスの横幅
location
URL情報を取得できる
location.href; // URLを取得
location.protocol; // プロトコルを取得
location.pathname; // ドメイン以降のパスを取得
location.port; // ポート番号を取得
location.host; // ポート番号含むドメイン
location.hostname; // ポート番号含まないドメイン
location.search; // クエリデータを取得
location.origin; // プロトコル+パス+ポート番号
URLを代入してリロードする
location.href = '<https://google.com>'; // Googleのページにリダイレクトされる
location.search = '?hoge=foo'; // クエリを付け足してリロード
location.pathname = 'hoge'; // パスを変更してリロード
location.origin = 'hoge'; // これだけは動かない
新しいページに移動する
location.assign('<https://google.com>');
現在のページ情報を残さずにページを移動
location.replace('<https://google.com>'); // ブラウザバック時に今のページに戻れない
ページの履歴は見れない!!!(プライバシーの問題)
操作することはできる↓
history
ページを戻る
history.back;
ページを進む
history.foward;
ooページ進む、戻る
history.go(4); // 4ページ分進む
history.go(-6); // 6ページ分戻る
URLを変えて何もしない
history.pushState(null,null,'/hoge');
URLを解析する
該当URLをインスタンス化してオブジェクトにしてくれる
let url = new URL('<https://google.com>');
いろいろな情報が取れる様になる
let url = new URL('<https://google.com/hoge>');
url.host; // google.com
url.pathname; // /hoge
パラメーターを取得できる
let url = new URL('<https://google.com/?q=javascript>');
url.searchParams.get('q'); // javascript
パラメータをセットできる
let url = new URL('<https://google.com/?q=javascript>');
url.searchParams.set('page','2');
console.log(url.search); // ?q=javascript&page=2
便利なAPI
IntersectionObserverAPI
スクロールした時に何かをしたい時に使う
PaymentRequestAPI
クレジットカード情報をブラウザで管理できる
WebCryptoAPI
暗号化のためのもの
PointerLockAPI
ゲームなどでマウスのポインタを見えないようにする