分享时间 | 2025-08-25 13:57 |
最后更新 | 2025-08-25 14:12 |
修订版本 | 1 |
用户许可 | -未设置- |
Quicker版本 | 1.44.22 |
动作大小 | 26.3 KB |
1.不知是否可以通过在浏览器插件中".\content\content.js"文件里插入这个代码实现通过chrome.runtime.sendMessage方式向".\background\background.js"后台发送信息,
进而向qk发送信息调用子程序等 (不知qk是否支持这样调用子程序,读取变量)
2.在网页js代码中通过sessionStorage向浏览器插件js环境专递信息,使用evel转化a2函数,调用a2函数方式需要调用的子程序和参数
如:a2=evel(sessionStorage.getItem('cc')); a2("子程序","参数");
3.思路就是:通过浏览器插件向网页中注入一个按钮在右上角(可以隐藏),再通过sessionStorage方式传递信息和模拟点击该按钮向后台传递网页中的数据信息
// 检查是否已初始化
if (typeof koe_29_tip === 'undefined') {
// 使用const声明常量
const button = document.createElement('button');
button.id = 'koe_29_tip';
// 使用模板字符串优化样式
button.style.cssText = `
position: fixed;
top: 0;
right: 0;
padding: 3px 5px;
width: 60px;
height: 30px;
line-height: 30px;
text-align: center;
font-size: 26px;
color: #FFF;
z-index: 99999999;
background-color: #096;
`;
// 初始化点击计数器(闭包保护)
let clickCount = 0;
// 更新按钮文本的函数
const updateButtonText = () => {
button.textContent = ++clickCount;
};
// 初始化按钮文本
updateButtonText();
// 事件监听器(使用箭头函数保持this指向)
button.addEventListener('click', () => {
updateButtonText();
// 从sessionStorage获取数据
const aa = sessionStorage.getItem('aa');
const bb = sessionStorage.getItem('bb');
//发送信息到后台
chrome.runtime.sendMessage({ text: aa });
chrome.runtime.sendMessage({ text: bb });
console.log(aa,bb);
});
//这个是实现函数调用的关键方式
const saveFunction = `function a2(aa, bb) {
sessionStorage.setItem('aa', aa);
sessionStorage.setItem('bb', bb);
document.getElementById('koe_29_tip').click();}
a2;
`;
sessionStorage.setItem('cc', saveFunction);
// 添加到DOM
document.body.appendChild(button);
// 全局引用(保持兼容性)
window.koe_29_tip = button;
}
修订版本 | 更新时间 | 更新说明 |
---|---|---|
1 | 2025-08-25 14:12 | + |
0 | 2025-08-25 13:57 |