現在開いているタブのURLを取得する
manifest.json
{
"manifest_version": 3,
"name": "tab info",
"version": "1.0",
"description": "現在のタブ情報を取得して<textarea id=results>に表示します",
"icons": {
"16": "icon.png"
},
"action": {
"default_icon": "popup.png",
"default_popup": "popup.html"
},
"permissions": [
"tabs"
]
}
popup.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charaset="utf-8">
<title>extension</title>
<style>
#results {
height: 70px;
width: 300px;
font-size: 12px;
}
</style>
</head>
<body>
<textarea id="results"></textarea>
<!-- manifest.jsonでJSファイルを読み込まなくてもscriptタグを書けば同じ挙動になる -->
<script src="popup.js"></script>
</body>
</html>
popup.js
'user strict' // エラーチェック
{
// 以下の2つの引数を書くことで「現在のタブ情報のみ」を取得できるが、
// これら2つの引数を書かなければ、「全てのタブ情報」を取得することができる
// lastFocusedWindow:true -> 最後にフォーカスが当たったウィンドウを選択
// active:true -> アクティブなタブを選択
// 第2引数tabsの中に取得したタブ情報が入っているので、tabs.length分くりかえす
chrome.tabs.query({active: true, lastFocusedWindow: true}, tabs => {
const results = document.getElementById('results');
const urls = [];
for(let i=0; i<tabs.length; i++){
console.log(tabs[i].title);
urls.push(tabs[i].url);
}
results.value = urls.join('\n');
results.select();
})
}
BACK