Posted at

chrome拡張機能:オプションページの様な自作ページをタブで開く

More than 1 year has passed since last update.

拡張内にファイルを配置し、chrome.tabs.create()でurlにファイル名を指定するだけ。manifest.jsonへの記載も不要。


background.js

chrome.tabs.create({url: 'custom_page.html'}, tab => {});


自作ページでスクリプトを読み込むには、オプションページ同様script要素で読み込めばいい。


custom_page.html

<script src="custom_page.js"></script>


ただし、chrome.tabs.create()のコールバック関数内でchrome.tabs.sendMessage()を実行しても、まだタブ側のスクリプトが読み込まれていないのでメッセージは受信できない。なので、必要な情報はタブを開く前にlocalStorageに保存しておき、自作ページでそれを読み込む形にした。


background.js

localStorage.aaa = 'aaa';

chrome.tabs.create({url: 'custom_page.html'}, tab => {});


custom_page.js

let aaa = localStorage.aaa;