[解決済み] PWAかMobile Webかを確認するJavascript
2023-06-21 06:02:11
質問
ウェブ体験が PWA (プログレッシブ ウェブ アプリ) として実行されているのか、それとも単に標準のモバイル ウェブサイト (フル ブラウザ UI) として実行されているのかを検出する、javascript ベースの方法を知っている人がいれば知りたいです。
インストールされている PWA と、そうでなくともサービス ワーカーやアプリ キャッシュが登録されている PWA との間に違いはありますか?
どのように解決するのですか?
分析目的であれば、マニフェストファイルの開始 URL にクエリ文字列パラメータを含むように設定することができます。
"start_url": "./?mode=standalone"
そして、JavaScriptで、このクエリ文字列パラメータをチェックすることができます。
更新日 (2020-08-19)
Pete LePage氏は、Google Analyticsのカスタムディメンションを設定する方法について、以下のコードを使って表示モードを確認するブログを書いています。
window.matchMedia
:
let displayMode = 'browser';
const mqStandAlone = '(display-mode: standalone)';
if (navigator.standalone || window.matchMedia(mqStandAlone).matches) {
displayMode = 'standalone';
}
ga('set', 'dimension1', displayMode);
更新しました(2017-01-20)。
または、JavaScriptを使用して確認することもできます。
if (window.matchMedia('(display-mode: standalone)').matches) {
console.log("This is running as standalone.");
}
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法