当前位置: 首页 > news >正文

免费跨境电商平台入驻北京百度搜索优化

免费跨境电商平台入驻,北京百度搜索优化,品牌商城网站建设,张家港企业做网站开发插件的都知道插件的content scripts和top window只共享Dom不共享window和其他数据,如果想拿挂载在window的数据还有点难度,下面会通过事件的方式传递cs和top window之间的数据写一个例子 代码 manifest.json 这里只搞了2个js,content.…

开发插件的都知道插件的content scripts和top window只共享Dom不共享window和其他数据,如果想拿挂载在window的数据还有点难度,下面会通过事件的方式传递cs和top window之间的数据写一个例子

代码

manifest.json

这里只搞了2个js,content.js是content scripts,main.js是在top window里运行的

{"version": "0.0.1","author": "apades","name": "ext-hack","description": "","manifest_version": 3,"content_scripts": [{"matches": ["<all_urls>"],"js": ["content.js"],"run_at": "document_end","all_frames": true},{"matches": ["<all_urls>"],"js": ["main.js"],"run_at": "document_end","world": "MAIN"}]
}

content.js

async function sendExtMessage(type, data) {window.dispatchEvent(new CustomEvent('ext-req', { detail: { type, data } }))return new Promise((res) => {function handleResponse(e) {const detail = e.detailif (detail.type == type) {window.removeEventListener('ext-res', handleResponse)return res(detail.data)}}window.addEventListener('ext-res', handleResponse)})
}// 暴露到content script的window里测试
window.sendExtMessage = sendExtMessage

main.js

window.addEventListener('ext-req', async (e) => {const { type, data } = e.detailswitch (type) {case 'run-code': {let fn = new Function(`return (${data.function})(...arguments)`)let rs = await fn(...(data.args ?? []))sendExtResponse(type, rs)break}}
})function sendExtResponse(type, data) {window.dispatchEvent(new CustomEvent('ext-res', {detail: { type, data },}))
}

运行测试

首先我先在top window里随便写个window.a的值
在这里插入图片描述
然后切换到ext-hack的window里,再测试sendExtMessage
在这里插入图片描述
然后发现可以拿到top window的数据了;以上方法还能传入content script window里的对象参数到top window里使用,也可以传入异步方法
在这里插入图片描述

最后要说的

通过事件里互相传的数据会经过插件内部的序列化,地址、Object.defineProperty都是不共享的。而且这个方法相较于script标签插入,可以绕开doc response的Content-Security-Policy

http://www.mmbaike.com/news/67177.html

相关文章:

  • 做网站的傻瓜软件郑州网站开发公司
  • 网站做多久能盈利建站公司哪家好
  • 网页传奇挂机脚本seo公司推荐
  • 高端网站制作模板品牌推广方案案例
  • 宜兴做网站的公司中国seo公司
  • 可靠的网站建设图seo网站制作优化
  • 创建个人微信公众号刷关键词排名seo软件
  • 地方门户网站推广app注册推广任务平台
  • 如何注册一个网站域名备案seo推广营销靠谱
  • 网站百度百科怎么做汽车推广软文
  • 做个手机网站学推广网络营销去哪里
  • 网页游戏宣传片排行榜网站推广seo方法
  • 网页界面设计招聘seo免费优化公司推荐
  • 门户网站建设工作管理办法全媒体运营师
  • 上海做网站的公司是什么百度seo网站
  • 网站开发需要掌握的知识优秀网站网页设计图片
  • 国内做网站比较好的公司想学销售去哪培训
  • 阿里云添加网站重大新闻事件
  • 有口碑的唐山网站建设品牌运营策划方案
  • 佛山 网站开发seo实战技术培训
  • 做网站应该注意什么制作一个简单的html网页
  • 网站开发之美seo优化好做吗
  • 主题资源网站建设 反思详情页页面页面
  • wordpress菜单怎么建seo网站平台
  • 教务系统网站怎么做贵阳搜索引擎排名推广
  • 怎么制作一个自己的网站成都百度推广公司电话
  • WordPress如何做多语言版本安康地seo
  • 自己做网站有什么用比优化更好的词是
  • 全栈网站开发者信息流广告
  • 常州网站建设网站手机360优化大师官网