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

网站界面设计尺寸规范深圳鹏洲建设工程有限公司网站

网站界面设计尺寸规范,深圳鹏洲建设工程有限公司网站,wordpress制作分销网站,wordpress 的分享插件开发插件的都知道插件的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.yayakq.cn/news/828840/

相关文章:

  • 目前网站建设采用什么技术提供网站建设方案
  • 电子商务网站建设规划的内容wordpress 克隆插件
  • win7网站建设西宁网站维护
  • 安丘营销型网站建设浙江seo公司
  • 微网站素材网站的设计需要什么
  • 1688代运营seo网络营销推广公司深圳
  • 广州市网站建站wordpress 版面
  • 极简 网站模板重庆轨道交通最新消息今天
  • 北京 网站建设 公网站空间自己做
  • 怎样为网站做外链做国际网站有用吗
  • 电子商务网站开发乐清新闻
  • 专业的扬州网站建设省住房和城乡建设厅官方网站
  • 朔州市网站建设wordpress php设置
  • 广州googleseo网络营销什么叫做优化
  • 响应式网站下载谷歌浏览器安卓下载
  • 上海高端品牌网站建设专家公司要搭建网站
  • 朝阳做网站哪家公司好做网站什么数据库用的多
  • 电子商务网站功能特点用vis做的简单网站
  • 网站建设分金手指专业二wordpress怎么放图片
  • 嘉兴网站制作设计搜索引擎优化的核心是
  • 怎样进行公司网站建设重庆点优定制网站建设
  • 宿州城市建设投资网站wap是什么意思?
  • 让公司做网站要注意什么计算机专业主要学什么课程
  • 里水网站设计腾讯云服务器怎么重启
  • 做网站以后的趋势知乎网站上放百度地图
  • 263网站建设怎么样小企业如何建网站
  • 珠海中企网站建设公司网站空间被挂马
  • 网站开发用什么字体一般wordpress管理用户插件
  • 重庆营销网站江门网站建设自助建站
  • 网站开发教程PDF微盘下载网站布局模式