0
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?

Chrome extension 挫折した 複数タブや遷移を挟んだ処理が難しい

Last updated at Posted at 2024-10-22

概要

chrome extensionを使ってやりたいことを実現しようとしたが挫折した話
初心者が公式doc見ながら&claudeに助けてもらいながら10時間ぐらい格闘した結果、心が折れた

やりたかったこと

・拡張機能をインストールし、拡張機能の「実行」ボタンを押したら動作する
・あるページの値を取得し、他のページに挿入する。これらのページは別タブで同時に開かれている
 └あるいは、取得した値によって、対応したselectの値を選ぶなど
・現在開いているページ内のボタンを押してURL遷移し、遷移後のページで処理を行う

だめだったこと

・タブを切り替えることはできるが、切り替わったタイミングで処理が中断されてしまう
・URL遷移(aタグをクリック)をした段階で、遷移先で処理を続行することが難しそう
 └タブが更新されたeventをlistenし、特定のURLだったら~ というやり方はある
 └localStorageを使ってstatefulにはできそう
 └上記2つを組み合わせると、URLが変わったタイミングで任意の処理をさせることはできそうだが、複雑すぎる(ことになると見込んでいる)
・単純なsleepができなかった。jsの問題か? promise(...).then(...) という書き方はできるが、中身が複雑になりすぎる
 └jsだけで言うとできるらしいが、chrome extensionとして組み込んでみても動作しなかった。要検証 https://qiita.com/teloppy_com/items/cd483807813af5a4a38a

配布が難しい

配布方法は
・ソース丸ごと or crxファイルにパッケージして、直接配布
・公式ストアに登録

公式ストアは更新するために審査が必要、ちょっとした修正でも大変
セルフホストは自由で良さそう。ただ、いざやってみたらダメだった。DLする際に crx_required_proof_missing エラーが出てしまい、これが解決できなかった・・

公式doc

今後

Playwright使えば良い気がする(初心者)

0
0
0

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
0
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?