[Chome Extension]タブ制御機能の作成
[ manifest.json ]
ユーザのTab情報制御画面を使用するため、権限を追加/* manifest.json */
...
"permissions": [
"...", "tabs", "scripting"
],
"host_permissions":[ /* 특정 URL에 script 주입을 위한 권한 */
"http://*/",
"https://*/"
],
...
[ Background JS ]
異なるブラウザイベントを監視することによって、タスクを実行するコードを記述します.
タブURL変更の検出
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab)=>{
if(changeInfo.status === 'complete'){
/* 탭 정보 변경 후, 수행할 로직 작성 */
}
});
/* manifest.json */
...
"permissions": [
"...", "tabs", "scripting"
],
"host_permissions":[ /* 특정 URL에 script 주입을 위한 권한 */
"http://*/",
"https://*/"
],
...
異なるブラウザイベントを監視することによって、タスクを実行するコードを記述します.
タブURL変更の検出
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab)=>{
if(changeInfo.status === 'complete'){
/* 탭 정보 변경 후, 수행할 로직 작성 */
}
});
tabId
:タブのIDを変更しましたchangeInfo
:内容変更tab
:変更されたタブオブジェクト保存されている管理URLとの比較
chrome.storage.sync.get((result) => {
for(value in result){
if(tab.url.includes(value)){
/* 제어 대상 URL일 경우 */
}
}
});
コントロールタブを閉じる
ブロック:スクリーン黒
chrome.scripting.executeScript({
target: {tabId: tabId},
func: ()=>{document.body.appendChild(warningDiv)}
});
[結果]
Reference
この問題について([Chome Extension]タブ制御機能の作成), 我々は、より多くの情報をここで見つけました
https://velog.io/@dot2__/Chrome-Extension-탭-제어-기능-만들기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について([Chome Extension]タブ制御機能の作成), 我々は、より多くの情報をここで見つけました https://velog.io/@dot2__/Chrome-Extension-탭-제어-기능-만들기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol