📖

JavaScriptによるブラウザ操作 入門

2023/02/02に公開

今回はJavaScriptのwindowオブジェクトのWeb APIを使ったブラウザ操作の方法を解説していきます。

学んでおいて損はない内容かと思いますので、ぜひ参考にしてください。

では早速、よく使うAPIたちを解説していきます。

alertとconfirm, prompt

まずは、alertのようなポップアップを出すAPIをいくつか紹介していきます。

alert

alertはその名の通り、警告などを表示させることができます。

こちらのメソッドの返り値はundefinedとなります。

alert('hello')

confirm

次はcofirmを紹介します。

こちらはユーザーにOK/Canselの質問をすることができます。

OKの場合は返り値がtrueに、Canselの場合はfalseになります。

confirm('元気ですか?')

prompt

最後はpromptです。

こちらは、ユーザーに文字を入力させることができます。

実際に入力された値が、このメソッドの返り値となります。

第一引数がラベル、第二引数がデフォルト値になります。

prompt('name','shinya')

次に紹介するのが、navigatorとscreenになります。

これらのAPIを使うことで、クライアントのブラウザやOSの情報などを取得することができます。

まずnavigatorですが、こちらのAPIはクライアントの様々な情報を取得することができます。

主によく使われるプロパティは次の通りです。

プロパティ名 説明
userAgent ブラウザやOSの情報
language 言語設定
mediaDevices カメラなどのメディア情報
clipboard コピーした値の保存場所
geoLocation ユーザーの場所
console.log(navigator.userAgent)

screen

次に解説するのが、screenになります。

こちらもよく使われるものの解説にとどめます。

プロパティ名 説明
width スクリーンの横幅
height スクリーンの縦幅
orientation スクリーンの向きの情報など
console.log(screen.width)

locationとhistory

最後に、locationとhistoryを解説します。

これらはブラウザの移動などを制御できるAPIになります。

location

こちらは現在表示してるページのURLを取得できます。

hrefメソッドでページの移動ができ、reloadメソッドでページのリロードができます。

location.href = "https://zenn.dev/"

location.reload()

history

次に説明するのがhisotryです。

こちらはブラウザの遷移などを取得することができます。

主なプロパティをそれぞれ説明すると、次の表の通りです。

プロパティ名 説明
current 現在のURL
previous 1個前のURL
next 1個後のURL
back() 1個前のURLに戻る
forward() 1個後のURLに進む
go(n) n個後のURLに進む(負の数の場合は戻る)

ちなみに、ついでにURLオブジェクトというものを紹介します。

こちらのオブジェクト使うことで、URLを楽に扱えるようになります。

以下が簡単な例になります。

const url = new URL('https://javascript.info/url');

alert(url.protocol); // https:
alert(url.host);     // javascript.info
alert(url.pathname); // /url

詳しい解説は下のリンクよりどうぞ。

https://ja.javascript.info/url

console

その他にconsoleというAPIもあるのですが、こちらの記事のが分かりやすかったので参考にどうぞ。

https://zenn.dev/fujiyama/articles/b2638ac38a3d05

このAPIを使うことで、ブラウザの開発者ツールのコンソールなどに様々な形でログを出せるので、デバッグの際などに役立ちます。

まとめ

今回はJavaScriptのwindowオブジェクトのWebAPIを使ったブラウザ操作の方法を解説しました。

ぜひ、こちらの記事を参考にフロントエンドの開発力を高めてください!

宣伝

0からエンジニアになるためのノウハウをブログで発信しています。
https://hinoshin-blog.com/

また、YouTubeでの動画解説も始めました。
YouTubeのvideoIDが不正ですhttps://www.youtube.com/channel/UCqaBUPxazAcXaGSNbky1y4g

インスタの発信も細々とやっています。
https://www.instagram.com/hinoshin_enginner/

興味がある方は、ぜひリンクをクリックして確認してみてください!

Discussion