mirror of
https://github.com/yaklang/yaklang-chrome-extension.git
synced 2026-09-22 03:10:43 +08:00
调用active tab js func
This commit is contained in:
+2
-2
@@ -17,8 +17,8 @@ function App() {
|
||||
}}
|
||||
>
|
||||
<div className="App">
|
||||
<Contro/>
|
||||
<Proxifier/>
|
||||
{/*<Contro/>*/}
|
||||
{/*<Proxifier/>*/}
|
||||
|
||||
<Eval/>
|
||||
<EvalInTab/>
|
||||
|
||||
@@ -10,26 +10,27 @@ export const EvalInTab: React.FC<EvalInTabProps> = () => {
|
||||
const [inputData, setInputData] = useState("");
|
||||
const [isScriptInjected, setIsScriptInjected] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const onConnectListener = (port: chrome.runtime.Port) => {
|
||||
console.assert(port.name === "content-script");
|
||||
port.onMessage.addListener(function (msg) {
|
||||
console.log("on connect", msg)
|
||||
});
|
||||
port.onDisconnect.addListener(function () {
|
||||
console.error("Disconnected from port.");
|
||||
});
|
||||
port.postMessage({type: "TEST", fn_name: "Encrypt", args: inputData});
|
||||
};
|
||||
|
||||
chrome.runtime.onConnect.addListener(onConnectListener);
|
||||
|
||||
// return () => {
|
||||
// chrome.runtime.onConnect.removeListener(onConnectListener);
|
||||
// };
|
||||
}, [inputData]);
|
||||
// useEffect(() => {
|
||||
// // const onConnectListener = (port: chrome.runtime.Port) => {
|
||||
// // console.assert(port.name === "content-script");
|
||||
// // port.onMessage.addListener(function (msg) {
|
||||
// // console.log("on connect", msg)
|
||||
// // });
|
||||
// // port.onDisconnect.addListener(function () {
|
||||
// // console.error("Disconnected from port.");
|
||||
// // });
|
||||
// // port.postMessage({type: "TEST", fn_name: "Encrypt", args: inputData});
|
||||
// // };
|
||||
// //
|
||||
// // chrome.runtime.onConnect.addListener(onConnectListener);
|
||||
//
|
||||
// // return () => {
|
||||
// // chrome.runtime.onConnect.removeListener(onConnectListener);
|
||||
// // };
|
||||
// }, [inputData]);
|
||||
|
||||
const handleClick = async () => {
|
||||
const tabId = await wsc.getTabId();
|
||||
if (!isScriptInjected) {
|
||||
chrome.scripting.executeScript({
|
||||
target: {tabId: await wsc.getTabId()},
|
||||
@@ -37,10 +38,20 @@ export const EvalInTab: React.FC<EvalInTabProps> = () => {
|
||||
}).then(injectResults => {
|
||||
console.log(injectResults)
|
||||
setIsScriptInjected(true);
|
||||
|
||||
const port = chrome.tabs.connect(tabId, {name: "ex-to-content"})
|
||||
port.postMessage({type: "TEST", fn_name: "Encrypt", args: inputData});
|
||||
port.onMessage.addListener(function (msg) {
|
||||
console.log(msg)
|
||||
})
|
||||
});
|
||||
}
|
||||
console.log("injected script")
|
||||
|
||||
const port = chrome.tabs.connect(tabId, {name: "ex-to-content"})
|
||||
port.postMessage({type: "TEST", fn_name: "Encrypt", args: inputData});
|
||||
port.onMessage.addListener(function (msg) {
|
||||
console.log(msg)
|
||||
})
|
||||
};
|
||||
|
||||
const handleInputChange = (event: React.ChangeEvent<HTMLTextAreaElement>) => {
|
||||
|
||||
Reference in New Issue
Block a user