Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Twitter投稿確認ダイアログを作ってみてた。

ねこ
January 31, 2022

 Twitter投稿確認ダイアログを作ってみてた。

仕事の一環でChromeの拡張機能について技術調査をしていたのですが、そこで作っていたものがそのままアプリとして使えそうだったのでリリースまで持ち込んでみました。この資料はその際に得た知見などをまとめた資料になります。

ねこ

January 31, 2022
Tweet

More Decks by ねこ

Other Decks in Technology

Transcript

  1. 目次 • 作ったもの
 • Chrome拡張機能とは
 • Chrome拡張機能の仕組み
 • 処理を拡張する2つの拡張機能
 •

    Chrome拡張機能3分クッキング
 • Chrome Tweet Dialog作成時につまづいたこと

  2. 作ったもの
 • Chrome Tweet Dialog
 ◦ Twitterで投稿確認ダイアログを表示する拡張機能 
 • Chromeウェブストアに公開してあったりします


    ◦ Chrome Tweet Dialog - Chrome ウェブストア 
 • ブログに情報まとめてます
 ◦ "Chrome Tweet Dialog"というChrome拡張機能アプリをリリースしてみた - ねこさんのぶろぐ 

  3. Chrome拡張機能の仕組み • Chrome拡張の種類に応じて用意したスクリプトが実行される
 ◦ 基本はただのJavaScript処理 
 ◦ 用意したスクリプトはmanifest.jsonにて設定する 
 ◦

    Chrome拡張機能固有の処理はChrome APIを通して処理する サーバーから取得 拡張機能として
 インストール 本質的には同じもの 
 Javascript Javascript
  4. 処理を拡張する2つの拡張機能
 拡張の種類
 説明
 Content Script
 • 表示する任意のページで実行される拡張機能
 • 動作するページはmanifest.jsonにてURLを使って設定する
 •

    主にDOM操作や画面内のイベント操作に用いる
 • 使用可能なChrome APIが限られる
 Background Scripts 
 • Chromeのバックグラウンドで実行される拡張機能
 • ブラウザ起動時に一度だけ実行される
 • 主に重たい処理やAPIとの通信処理に用いる
 • ほぼすべてのChrome APIが使用可能
 その他たくさんの拡張機能が存在する! 
 参考:Extension development overview - Chrome Developers
  5. Chrome Tweet Dialog作成時につまづいたこと(2/2) • 一回実行するとボタンイベントが外れてしまう
 ◦ これは謎
 ◦ 公式APIには ‘once’

    というプロパティがあるが、効かない 
 ◦ イベント内処理で再度付けなおすことで解決(これが正しいのかは分からん...) 
 イベント登録処理をカプセル化し、実行処理で呼び出し!