1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ブラウザがJavaScriptで取得できる情報を少し可視化してみる例

1
Last updated at Posted at 2026-04-12

HTML/CSS/JavaScriptだけで、
ブラウザのJavaScriptがどういった情報を取得できるか可視化するアプリです。
プログラミングの入り口や、セキュリティを考えられる構成にしています。

デモ

ソース


モチベーション

最近良くフィンガープリントって聞くけど何だろう?
ブラウザから情報流出とか言うけどどういうことだろう?
ということで、実際ブラウザがJavaScriptで把握できる情報を可視化してみました。


概要

本アプリは、ブラウザで JavaScript を用いて取得可能な情報を
「どの API から取得されるか」
という観点で可視化する学習用ツールです。

通常の「情報一覧表示」ではなく、以下のようなプログラミング視点を重視しています。

  • どのオブジェクトから取得しているか(location / document / navigator
    など)
  • 自分のブラウザが何を表示するか
  • 実際のコードはどう書くか

特徴

1. API単位での整理

  • location(URL情報)
  • document(HTML文書)
  • navigator(ブラウザ・端末)
  • screen / window(画面)
  • Intl / Date(時刻・ロケール)
  • performance(通信・描画時間)
  • feature check(機能有無)

2. 「値・由来・コード例」の3点セット

各項目は以下の3つをセットで表示します。

  • 値(現在の取得結果)
  • 由来(どこから来た情報か)
  • コード例(実際のJavaScript)

3. DevTools連携を意識

「DevToolsで同じコードを試す」ことを前提に設計


4. JSON出力機能

取得した情報をまとめてJSON表示


技術構成

  • HTML
  • CSS
  • JavaScript

APサーバ不要(デモはGitHub Pages利用してます)


学習できる内容

  • Web API構造理解
  • ブラウザ情報の範囲
  • フィンガープリント基礎
  • パフォーマンス計測

想定用途

  • Web開発学習
  • セキュリティ理解
  • DevTools補助教材

まとめ

  • 「ブラウザは何を知っているか」
  • 「どう取得しているか」

を学ぶための可視化ツールです。


追記 モバイル対応

20260415 スマホの見栄えを整えました。
PCで開発者ツール使う前提なのでスマホは良いやと思っていたのですが、余りにも画面はみ出しすぎだったので対処しました。

今回のモバイル対応では、主に以下を行いました。

  • @media (max-width: 980px) で 1 カラム化
  • @media (max-width: 640px) でスマホ向け微調整
  • sticky解除
  • 情報行の縦積み化
  • ボタンの押しやすい再配置
  • 長い文字列やコードの折り返し
  • 横はみ出し防止

基本は実機確認を行いますが、今回は横着して確認せず、push後に気付いて修正という流れになってしまいました。
最低限開発者ツールのスマホ想定表示は試しておくべきですね。

image.png

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?