测试插件的示例代码

This commit is contained in:
xu_yanfeng 2024-12-15 20:00:39 +08:00
parent 31dfa76eeb
commit 7f1fcec3ea
3 changed files with 71 additions and 2 deletions

View File

@ -1 +1,26 @@
console.log("background.js")
console.log("background.js")
chrome.runtime.onConnect.addListener((port) => {
console.log("runtime onConnect: ", port)
port.onMessage.addListener((message) => {
console.log("runtime port onMessage: ", message)
port.postMessage(message + "*bg")
})
port.onDisconnect.addListener(() => {
console.log("runtime port onDisconnect")
})
})
chrome.runtime.onMessage.addListener((message) => {
console.log("runtime onMessage: ", message)
})
// chrome.tabs.onConnect.addListener((port) => {
// console.log("tabs onConnect: ", port)
// port.onMessage.addListener((message) => {
// console.log("port onMessage: ", message)
// })
// port.onDisconnect.addListener(() => {
// console.log("port onDisconnect")
// })
// })
// chrome.tabs.onMessage.addListener((message) => {
// console.log("tabs onMessage: ", message)
// })

View File

@ -6,5 +6,7 @@
</head>
<body style="width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden">
devtools
<button id="send2bg">send to background</button>
<div id="text"></div>
</body>
</html>

View File

@ -1 +1,43 @@
console.log("devtools.js");
console.log("devtools.js");
debugger
// const tabsConnect = chrome.tabs.connect({ name: "devtoos" });
// tabsConnect.onMessage.addListener((message) => {
// console.log("tabsConnect Message: ", message)
// })
// tabsConnect.onDisconnect.addListener(() => {
// console.log("tabsConnect disconnect")
// })
const runtimeConnect = chrome.runtime.connect({ name: "devtools" })
runtimeConnect.onDisconnect.addListener(() => {
console.log(`runtimeConnect disconnect`,)
});
runtimeConnect.onMessage.addListener((message) => {
console.log('runtimeConnect Message: ', message)
text.innerText = message;
});
// view
const text = document.getElementById('text')
const send2bg = document.getElementById('send2bg')
if (send2bg) {
send2bg.addEventListener('click', () => {
const message = ("devtools send to background")
runtimeConnect.postMessage(message)
// tabsConnect.sendMessage(message);
// chrome.runtime.sendMessage(message);
})
}
chrome.devtools.panels.create("Hello World", "icon.png", "devtools.html", (panel) => {
console.log("panel created");
panel.onShown.addListener(() => {
console.log("panel shown");
});
panel.onHidden.addListener(() => {
console.log("panel hidden");
});
panel.onSearch.addListener((query) => {
console.log("panel search", query);
});
});