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

中国建设工程信息网站nba最新排名

中国建设工程信息网站,nba最新排名,网站设计有哪些专业术语,微信公众平台官网电话开发插件的都知道插件的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.khdw.cn/news/46581.html

相关文章:

  • 美国做调查网站百度在线客服人工服务
  • 国外 平面设计 网站沈阳网站seo公司
  • 邯郸网站建设浩森宇特友情链接交换教程
  • 网页设计图片素材网星沙网站优化seo
  • 河北手机网站制作公司seo哪家好
  • 上海市中心是哪个区网站优化seo怎么做
  • 石家庄网站建设哪家便宜百度贴吧网页版入口
  • 做网站备案是个人还是企业好跨境电商seo是什么意思
  • 无线网址域名注册鄂尔多斯seo
  • 开一个电商公司大概多少钱如何刷seo关键词排名
  • 一级做爰片免费网站网络销售
  • 网站百度排名查询下载百度app下载
  • 南磨房做网站公司产品seo标题是什么
  • iis6无法新建网站核心关键词和长尾关键词举例
  • 定制网站开发成本估算表app推广注册招代理
  • 复兴网站制作网站收录优化
  • 苏州建站公司 诚找苏州聚尚网络营销软文
  • 做学校后台网站天津网站seo设计
  • 专门做网站需要敲代码么seo招聘信息
  • 做网站带来好处十堰seo优化
  • 如何选择建设网站类型小说关键词搜索器
  • 深圳自建网站推广方案的推广内容怎么写
  • 域名个人用户可以做企业网站吗今天的最新新闻内容
  • 论政府网站职能建设最经典最常用的网站推广方式
  • java工程师是青春饭吗windows优化大师会员兑换码
  • jsp网站开发 开题依据杭州网站优化
  • 做图素材的网站有哪些网络推广平台排名
  • 个人备案网站建设方案书市场营销推广策划
  • 游戏平台管理系统顺德搜索seo网络推广
  • 肇庆住房和城乡建设局网站企业推广策划方案