mirror of
https://github.com/yaklang/yaklang-chrome-extension.git
synced 2026-09-24 20:21:53 +08:00
32 lines
995 B
JavaScript
32 lines
995 B
JavaScript
(() => {
|
|
if (window.injectedMessageListener) {
|
|
return;
|
|
}
|
|
window.injectedMessageListener = true;
|
|
|
|
window.addEventListener('message', function onMessage(event) {
|
|
if (event.source !== window) {
|
|
return;
|
|
}
|
|
let result = "";
|
|
switch (event.data.type) {
|
|
case 'CONTENT_CALL_FUNCTION':
|
|
const fn_name = event.data.value.fn_name;
|
|
const args = event.data.value.args;
|
|
result = window[fn_name](args);
|
|
break;
|
|
case 'CONTENT_EVAL_CODE':
|
|
const code = event.data.value.code;
|
|
result = eval(code);
|
|
// console.log("CONTENT_EVAL_CODE result: ", result);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
if (result && typeof result === 'object' && Object.keys(result).length > 0) {
|
|
window.postMessage({type: 'FROM_PAGE', result: result}, '*');
|
|
}
|
|
});
|
|
})();
|
|
|