Chrome拡張機能このページは開発者としての内容です。Chromeに記載しています。Chromeのドキュメントを読むときに、ある程度参考になります。翻訳されているものも多いため、概要を理解するには良いでしょう。MDN以下のような制限があります。コンテンツスクリプト使えるAPIが制限されている。CapabilitiesbrowserActionなどは使えない。バックグラウンドスクリプトWebページのコンテンツにアクセスできない。この2つのスクリプトで通信をする必要があります。sandboxを使う。ChromeインラインJavaScriptは実行されない。関数定義は外部ファイルに移動。イベントハンドラはaddEventListenerを使用。onloadはDOMContentLoadedイベントをハンドリング。"document_start"を使用。46からはbase64エンコードされて、ハッシュ付きならOKの模様。ローカルのスクリプトとリソースのみ読み込まれる。対策ファイルをダウンロードしてパッケージに含める。Policyの変更が可能。Scriptsと題していろいろ書かれている。Scaffold(足場)0から作ると大変なことも多いので、このようなツールを使うといいかもしれません。マニフェストファイルのバージョン。拡張機能の名前(45文字以下)。Storeなどで使われる。自動更新システムが認識するため、厳密な規定あり。ユーザが認識する文字列を指定する時は、version_nameを使う(後述)1〜4つのドット区切りの整数それぞれの整数は0〜65535の範囲であること。‘032’)バージョンの比較時は、左側から比較する。存在しないフィールドは'0'として扱う。‘1.2.0'は'1.1.9.9999'より新しい。‘1.1.9.9999'は'1.1'より新しい。画面表示に使用するバージョン。“rc"などを含めたいときに便利。ChromeAPIを使用する権限を表します。“permissions"をキーとして、配列で記載します。事前に定義されたものの他に、URLも記載できます。Declarativelyの方がいいかも。使われるアクションユーザがツールバー(URLバーの右側)で操作するもの。ScriptWebページ上で動くもの。マッチするサイトワイルドカードが使用可能。詳細はmatch_patterns参照。Scriptバックグラウンドで動くもの。通常はfalsechrome.webRequestというネットワークリクエストを解析するAPI以外では使わなさそうです。オプション画面のHTML。新しいタブでオプション画面を表示する。オプション画面のHTML。埋め込み表示オプション画面は内容を書き込むため、storageパーミッションは事実上必須。タブタブのタイトルとURL、ファビコンURLを取得するには、permissionsに、tabsをつける必要がある。アクティブなタブを取得するだけなら不要。clipboardReadをつける必要がある。71まではDocument.execCommandを使うのがよい。→全選択→document.execCommand("copy")を使用する。現在は開発中となっている。説明には「オープン標準ができるまでの一時的な解決案」と書かれている。APIのことと思われる。コンテキストメニューchrome.contextMenus以下の作業が必要。追加バックグラウンドページを追加バックグラウンドで書く件については以下の記事に記載。Promiseでラップして、await/asyncを使う機会が多いです。これを学ぶのが良いと思います。パッケージ化されていない拡張機能を読み込む拡張機能の画面を開くmacOSの場合「...」→「その他のツール」→「拡張機能」で出る。名前の左の"←”」の方がいいかも。「パッケージ化されていない拡張機能を読み込む」を押す。ダイアログが出るので、manifest.jsonがあるディレクトリを選択。再読込するときは、拡張機能の画面のリロードボタンを押す。公開は数分で行われるようですが、キャッシュのためかすぐに反映されないため、シークレットモードで確認すると良さそうです。chrome.storagestorageオプションの保存を行う。Syncによる同期を行うもの。Syncを有効化していないときは、localとしてふるまう。storage.local.容量および操作回数の制限が大きいのに注意(chrome.storage.sync参照)chrome.storage.localローカルのみ保存を行うもの。容量は5MBだが、それ以外の制限はない。chrome.storage.managed管理者が設定したポリシー(書き込み不可)。ことですが、何度も間違えたので書いておきます。getとsetは以下のように書きます。デフォルトのロケール。