花钱买到的技术,chrome扩展 内容页获取原始页面的js变量
1 内容页往原始页面新加脚本,目的是接受来自内容页的消息,并返回js变量
var myScript = document.createElement("script"); myScript.append('window.addEventListener("message", async function(event) { if (event.data.from === "extenstion") { var data = await new Promise(function(resolve) { resolve(window.wx.cgiData); });var message = { "from": "web", "to": "extenstion", "data": window.wx.cgiData };window.postMessage(message, "*"); }});'); document.body.append(myScript);
其中附加的代码格式化后如下
window.addEventListener("message", async function(event) { if (event.data.from === "extenstion") { var data = await new Promise(function(resolve) { resolve(window.wx.cgiData); }); var message = { "from": "web", "to": "extenstion", "data": window.wx.cgiData }; window.postMessage(message, "*"); } });
收到来自内容页的消息后,返回指定js变量
2 内容页新加监听,接受来自原始页的消息
window.addEventListener("message", function(event) { if (event.data.from === "web") { console.log("cgiData", event.data.data); } });
3 给原始页发消息
var message = { "from": "extenstion", "to":"web", "data": "test" }; window.postMessage(message, "*");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2013-12-30 vs2012 网站无法使用自定义服务器的解决方法