拡張内にファイルを配置し、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;