質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Chrome extension

Chrome拡張機能

Q&A

解決済

1回答

1997閲覧

ブラウザ起動時のみ発生するイベントはありますか?

nakanohitobot

総合スコア48

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Chrome extension

Chrome拡張機能

0グッド

1クリップ

投稿2022/02/09 04:20

ブラウザ起動時のみ発生するイベントと、それをキャッチするリスナー(onXxxxx())は存在しますでしょうか?

調べてみたところ、拡張機能インストール時に発生するイベントはあるようで、chrome.management.onInstalled.addListener()でキャッチできるようです。
しかしながら、ブラウザ起動時のみ初期化処理を行いたいため、起動したかどうかを判断できるイベントがないか探しています。

思いついた方法としては、単純にbackground.jsをバックグラウンドページ(マニフェストで"persistent": false)にして、ブラウザが起動している間は、動いている状態にすることです。
これですと、ブラウザ起動時のみ、初期化処理がはしり、以降はずっとメモリに常駐した形になるかとおもいます。
ただ、できればイベントページとして動かしつつ、ブラウザ起動時の判別を行えたらベストです。

どなたか、ご存知の方いらっしゃいますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takasima20

2022/02/09 04:30

そういう仕掛けがあると仮定しても、その時に当該ページが表示される保証はないんじゃ?
nakanohitobot

2022/02/09 05:36

処理内容によっては、確かにおっしゃるとおりですね。 今回は初期化処理で、background.jsにてchrome.alarmsを作成しておくだけなので、ページはなんでもいいです。 起動時に作成して、セットした時間がきたらアラームが発火するようにしたいので。
yambejp

2022/02/09 05:47

window.openで別ウィンドウをモードレスで開いてもブラウザ自体は起動しているので切り分けは難しいでしょうね。 なにをしたいのかわかりませんが、別の方法を検討されたほうがよいような気がします
takasima20

2022/02/09 05:47

それって「ブラウザ起動後、最初に」って意味? あと、その仕込みがないページ表示されてもなんも動かないんじゃ? って意味のつもりなんスけど…
Lhankor_Mhy

2022/02/09 06:20

> takasima20さん 質問タグを見ると、Chrome拡張の質問なので、ある特定のページに仕込みをするわけではないと思います。
nakanohitobot

2022/02/09 06:36

皆様ありがとうございます。別の方法を検討してみます。
takasima20

2022/02/09 06:38

Lhankor_Mhyさん なるほどです(汗
guest

回答1

0

ベストアンサー

次の要件を満たす方法として、

  • ブラウザ起動時に実行する
  • バックグラウンドページとして、メモリ上に常駐しない

chrome.runtime.onStartup と Manifest V3 のバックグラウンドサービスワーカーで類する機能を実現できるものと考えます。

投稿2022/02/20 05:12

k08045kk

総合スコア384

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問