Web 通知テスト
メディア処理はすべてブラウザ内で完結します。データは送信されません
⚠️ 未対応の環境ではこれらのオプションは**エラーを出しません**。効果がないだけです。だからこそ項目ごとに示します。「設定したのに効かない」はエラーよりはるかに厄介です。
- 本文(body)どの環境も対応
どの環境も対応していますが、表示行数は異なります。デスクトップは 2〜3 行、モバイルはもっと早く省略されます。長い本文は切り詰められます。
- アイコン(icon)環境による(注記参照)
⚠️ Windows ではこのアイコンは通知の画像としては表示されず、送信元アプリのアイコンが使われます。macOS と多くの Linux デスクトップでは使われます。つまり「アイコンを設定したのに見えない」は多くの場合プラットフォームの挙動で、間違いではありません。
- タグ(tag)どの環境も対応
同じ tag の新しい通知は古いものを**置き換えます**(並んで積まれるのではありません)。空の tag も 1 つの tag なので、tag を付けない通知どうしは互いを置き換えます。複数残したいときは別々の tag を付けてください。
- サイレント(silent)どの環境も対応
この通知を無音・無振動にします。対応は良好ですが、この通知だけの指定です。OS の集中モードが有効ならそれでも抑止されます。
- 常駐(requireInteraction)環境による(注記参照)
⚠️ 通知を自動で消さず、ユーザーの操作を待たせます。デスクトップの Chrome / Edge では有効ですが、**多くのモバイルと Safari は無視します**。数秒で消えてしまいます。対応環境でもユーザー設定で上書きできます。
- ボタン(actions)環境による(注記参照)
⚠️ 最も差が大きい項目です:デスクトップの Chrome / Edge は対応(**最大 2 個まで表示**)、**多くのモバイルブラウザーと Safari は actions ごと無視**します。ボタンは表示されず、エラーも出ません。モバイルではボタンが無くても意味が通る通知にしてください。
- 画像(image)環境による(注記参照)
通知内の大きな画像は一部の環境(主に一部 Android の Chrome)でのみ表示され、デスクトップと iOS ではほぼ無視されます。これも警告は出ません。
通知の許可を求め、タイトル・本文・アイコン・タグ・サイレント・常駐・ボタンといったオプションを試しながら 1 件送ります。 ⚠️ このツールの価値は「送ること」ではなく、プラットフォーム差を書き出すことにあります。未対応の環境では actions・requireInteraction・icon などはまったくエラーを出しません。効果がないだけです。ボタンを 2 つ設定しても通知にボタンは現れず、コンソールもきれいなままです。そこで各項目について、どこで有効でどこで無視されるかを示します。デスクトップの Chrome はボタンを最大 2 つ表示し、多くのモバイルと Safari は actions ごと無視します。requireInteraction も同じで、設定しても数秒で消えます。Windows では icon は通知アイコンではなく送信元アプリのアイコンとして表示されます。これらはドキュメントに書かれていない一言で、「設定したのに効かない」の唯一の説明です。 もう二つ、意図した設計があります。許可はボタンを押したときだけ求め、ページ読み込み時には決して求めません(この種のツールで最も嫌われる挙動で、ユーザーの操作に紐づかない要求はブラウザーも無視します)。そして拒否されたあとは再要求しません。その状態では requestPermission() は確認を出さず denied を返すだけなので、アドレスバー横のサイト設定で手動で戻すよう案内します。通知は安全なコンテキスト(https または localhost)でのみ利用できます。
機能
- 現在の許可状態を表示し、許可を求めるのはボタンを押したときだけ(読み込み時には求めません)
- ⚠️ 拒否後は再要求せず、アドレスバー横のサイト設定で「許可」に戻すよう案内します
- タイトル・本文・アイコン URL・タグ・サイレント・常駐を設定して通知を 1 件送れます
- ボタンは最大 2 つ。アクション名やラベルが欠けたものは警告とともに破棄され、デスクトップ Chrome 以外の多くは無視します
- ⚠️ 各オプションの対応状況を項目ごとに注記:actions・requireInteraction・icon・tag・silent・大きな画像がどこで有効か
- tag の仕組みを説明:同じ tag の新しい通知は古いものを置き換え、空の tag も 1 つの tag として扱われます
- 「すべて閉じる」ボタン。閉じられるのはこのページが送った、まだ生きている通知だけであることも明記します
- このページが送った通知の記録(tag とボタン数を含む)
- 処理はすべてローカル。安全でないコンテキスト(http)では利用不可であると明示します
使い方
- 「通知の許可を求める」を押し、ブラウザーの確認で許可します(押せるのはあなただけで、ページが自動で求めることはありません)
- タイトルと本文を入力し、必要に応じてアイコン・tag・サイレント・常駐・最大 2 つのボタンを設定します
- 「通知を送る」で表示を確認し、下の「プラットフォーム差」と照らしてどのオプションが無視されたかを見ます
- 通知が消えないときは「すべて閉じる」。以前に拒否した場合は、案内に従ってサイト設定で許可に戻して再読み込みします
よくある質問
- ボタンを設定したのに表示されないのはなぜですか
- actions は一部の環境でしか働かないためです。デスクトップの Chrome / Edge は対応(最大 2 つ表示)しますが、多くのモバイルブラウザーと Safari は actions ごと無視します。ボタンは出ず、エラーも出ません。違いを見るには、デスクトップの Chrome とスマートフォンでこのページを開いて比べてください。
- 拒否したあとに「求める」を押しても何も起きないのはなぜですか
- 一度拒否されると、Notification.requestPermission() は確認を出さず denied を返すだけだからです。このページが手を抜いているのではなく、ブラウザーが決定権を引き取っています。戻すには手動で:アドレスバー左のサイト設定(錠前アイコン)→「通知」→「許可」に変更し、このページを再読み込みしてください。
- 設定したアイコンではなくアプリのアイコンが出るのはなぜですか
- Windows の挙動です。Windows は通知に設定した icon を使わず、送信元アプリのアイコンを表示します。macOS と多くの Linux デスクトップでは設定したアイコンが使われます。つまり「アイコンを設定したのに見えない」は多くの場合プラットフォームの挙動で、間違いではありません。
- 似た通知を 2 件送ったら前の 1 件が消えたのはなぜですか
- 2 件が同じ tag を使っていたためです。同じ tag の新しい通知は古いものを置き換え、並んで積まれることはありません。空の tag も 1 つの tag なので、tag を付けない通知どうしは互いを置き換えます。複数を同時に残したいときは、それぞれ別の tag を付けてください。
関連ツール
ブラウザー情報
Webブラウザーがサイトに公開している情報を確認します。UA・画面・タイムゾーン・CPU コア数・WebGL レンダラーなど。すべて端末内で読み取り、送信しません。
HTML5 対応チェック
早見表いま使っているブラウザで HTML 要素・CSS の機能・ブラウザ API・メディア形式の対応状況を実測し、UA つきのレポートとしてコピーできます。
ポップアップのコード
Webwindow.open のコード、または target="_blank" のリンクを生成します。サイズと位置は調整可能。ブラウザが無視するパラメータも説明します。
動画から GIF
メディア動画の一部を GIF に変換します。フレームレート・幅・色数・ループを指定でき、範囲はプレビューを見ながら選べます。動画は送信されません。
動画フレーム書き出し
メディア動画の指定した瞬間のフレームを、動画本来の解像度で PNG / JPEG / WebP として書き出します。スクリーンショットより鮮明です。
音声を WAV に
メディアMP3 / M4A / FLAC などを WAV に変換。サンプリング周波数(音声なら 16k、映像なら 48k)、モノラル化、ピーク正規化に対応。すべてブラウザ内で完結します。