首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

如何快速将你的应用封装成js-sdk?

其中笔者还会以H5-Dooring 为例子, 介绍如何将 H5 页面编辑器封装成一个 js-sdk 供他人使用. ?...我们的 sdk 就好像一个完整系统的一个零件, 可以和系统的其他模块通信, 互相交换数据....总体而言 sdk 是为宿主系统服务的, 在 dooring-sdk 我们一方面要提供对外的接口支持, 另一方面需要支持宿主能控制 H5 编辑器的界面, 所以综合分析下来我们有如下的初步规划图: ?...所以笔者这里采用了比较常用的 url 通行方式, 这里需要对参数做解析, 最后达到一个比较简单的接入方式, 如下: var dooringOpts = { container: '', // 挂载到哪个...最后 以上方案笔者已经集成到 H5-Dooring ,大家可以以 sdk 的方式体验一下。 github 地址:所见即所得的H5页面编辑器H5-Dooring

1.5K10

学习记录03(网页挂马)

网页挂马 将木马程序上传到网站,使用木马生成器生成一个网马,放到网页空间,在添加代码使木马在网页打开时运行 1.常见的几种方式 将木马伪装成页面元素,木马被浏览器自动加载到本地 利用脚本运行的漏洞下载木马...html文件来举个例子,通常情况下将2代码放到任何位置都可 :例如:当使用代码 时,在这个例子里也是图片伪装挂马 :我们可以看到,在我们访问原网址时会出现我指的百度页面...=0 height=0>")前者写在html文件,后者写在js文件 演示一下 :在html文件的标签里加入...:转到horse.js文件,文件添加document.write("</iframe...但是有一点问题是,会出现背景页面空白的情况,导致很容易暴露,看了网上的一些总结,可以把这个修改为:body{background-image: url(t:open("地址","newwindow",这里可以一些参数

2.2K10

经验之谈-关于实际项目微前端优化

点击上方 前端Q,关注公众号 回复群,加入前端Q技术交流群 场景 一个在某某行业为运营商提供服务的科技公司 首先会开发一个关于机器各种功能的运营系统(机器中心) next,要为供应商提供数据分析的系统...思考 如何将一个巨石的管理系统改造拆分(各个中心的模块下面还有几十个菜单) ? 微前端是个啥 将前端应用分解成一些更小、更简单的能够独立开发,测试、部署的小块,而在用户看来仍然是内聚的单个产品。...iframe必须给一个指定的高度,否则会塌陷 弹窗及遮罩层问题:只能在iframe范围内垂直水平居中,没法在整个页面垂直水平居中(可使用全局的弹窗) 浏览器前进/后退问题:iframe页面刷新会重置(比如说从列表页跳转到详情页...(新建两个子项目vue/react各一个,在原来的架构下,开发访问) 需要解决的问题: 使用iframe,并且路由中以 **“#/iframe”** 开头即可访问并隐藏其他的内容,分开iframe与原有的内容的并且通过显示隐藏进行切换...但是在vue延迟挂载app.mount('#app')会报错。

1.4K50

怎么防止同事用Evil.js的代码投毒

还不如离职的时候给老板一个大逼兜来的解恨今天我们来讨论一下,如果你作为项目的负责人,如何甄别这种代码下毒欢迎加入前端学习,一起上王者,交个朋友下毒手法最朴实无华的下毒手法就是直接替换函数,比如evil.js,...我们还可以在浏览器里通过iframe创建一个被隔离的window, iframe被加载到body后,获取iframe内部的contentWindowlet iframe = document.createElement...('iframe')iframe.style.display = 'none'document.body.appendChild(iframe)let {JSON:cleanJSON} = iframe.contentWindowconsole.log...(cleanJSON.stringify({name:'Illl'})) // '{"name":"llll"}'复制代码node 的vm模块node也可以通过vm模块创建一个沙箱来运行代码,教程可以看这里...checkNative就可以啦,存储在_snapshot和_prototype里的内容,嘎嘎遍历出来,和当前运行时获取的JSON,Promise.prototype.then对比就可以啦,而且我们有了备份, 还可以一个

3K20

基于drawio构建流程图编辑器

那么问题来了,我们应该如何将drawio集成到自己的项目当中,我们在这里提供了两种方案,一种是独立编辑器,这种方式是将Npm包打包到自己的项目当中,另一种是嵌入drawio,这种方式是通过iframe与部署好的...这部分工作实际上比较简单,就是将需要用到的代码全部下载到我们自己的项目当中,当然一开始也是没什么头绪的,因为在不了解的情况下还是比较难以组织起来这部分代码的,另外项目用到了大量的window对象上的值,...外部加载模块问题,众所周知(或者没那么周知)mxGraph的很多模块都是挂载到window上的,这里的模块有多种类型,比如图形模块mxGraphModel、mxGeometry、mxCell等等,工具模块...在这里我们更要关注的是如何将drawio嵌入到我们的应用当中,drawio提供了embed的方式来帮助我们集成到自己的应用,通过iframe的方式利用postMessage进行通信,这样也不会受到跨域的限制...this.iframe) return void 0; this.lock = true; const iframe = this.iframe; const url =

1K10

怎么防止同事用Evil.js的代码投毒

还不如离职的时候给老板一个大逼兜来的解恨今天我们来讨论一下,如果你作为项目的负责人,如何甄别这种代码下毒欢迎加入前端学习,一起上王者,交个朋友下毒手法最朴实无华的下毒手法就是直接替换函数,比如evil.js,...创建一个被隔离的window, iframe被加载到body后,获取iframe内部的contentWindowlet iframe = document.createElement('iframe')...('iframe')iframe.style.display = 'none'document.body.appendChild(iframe)let {JSON:cleanJSON} = iframe.contentWindowconsole.log...(cleanJSON.stringify({name:'Illl'})) // '{"name":"llll"}'node 的vm模块node也可以通过vm模块创建一个沙箱来运行代码,教程可以看这里...checkNative就可以啦,存储在_snapshot和_prototype里的内容,嘎嘎遍历出来,和当前运行时获取的JSON,Promise.prototype.then对比就可以啦,而且我们有了备份, 还可以一个

3.6K20

Mel频谱和MFCC深入浅出

窗(Window) 窗目的是减少频谱泄露,降低泄漏频率干扰,提升频谱效果,默认不处理即矩形窗(Rect),干扰泄漏较严重,一般情况下Hann窗,针对大多数信号都有不错的效果。...3. window窗函数 时域窗目的是减少频谱泄露,上述算法流程描述,一般情况下Hann窗,但窗函数有很多,如Triang,Hann,Hamm,Guass,Kaiser,Flattop,Blackman...如上面算法流程描述mel刻度的解释,是一种基于人耳听觉设计的log压缩刻度,后面发展出更准确人耳听觉模型刻度,Bark和ERB刻度,公式如下 bark=\frac{26.81hz}{1960+hz}-...一般情况下,人耳听觉模型ERB刻度和gammatone filter的bandwidth相关联,即b为ERB刻度的bandwidth。...刻度频谱 除了上述刻度以外,还有基于乐音八度的octave刻度,更通用的log刻度等等,基于上面算法流程,mel刻度产生mel频谱和mfcc特征,同样的流程,bark/erb等刻度产生对应的bark/erb

1.9K90

作为window对象属性的元素 多窗口和窗体

如果在代码声明并赋值给全局变量x,那么显示声明会隐藏隐式声明的元素变量。如果脚本的变量声明出现在命名元素之前,那么变量的存在会阻止元素获取它的window属性。...div> 1111 1111 好吧,因为浏览器厂商可以随便给属性...一个窗口或标签页的脚本可以打开新的窗口或者标签页。当一个脚本这样做,多个窗口可以相互操作 iframe 已经处于半废弃的inframe标签。挺无奈的,已经快废了。...不过学习还是学习一下吧 iframe是用来嵌套多个文档的。由iframe所创建的嵌套浏览上下文是用自己的window对象表示的。每一个iframe都是一个独立的window对象。...并同时可以作为标签a和标签form的taget的值,表示加载到哪 open第三个参数表明如何打开这个标签的,以及大小(一般弹窗广告喜欢这样做) // 打开允许改变大小的浏览器的窗口,包含地址栏,工具栏和地址栏

2.1K50

clickjacking攻击讲解

场景二:用户进入到一个网页,里面包含了一个非常有诱惑力的按钮A,但是这个按钮上面浮了一个透明的iframe标签,这个iframe标签加载了另外一个网页,并且他将这个网页的某个按钮和原网页的按钮A重合...这种场景是可以避免的,只要设置百度贴吧不允许使用iframe被加载到其他网页,就可以避免这种行为了。我们可以通过在响应头中设置X-Frame-Options来设置这种操作。...X-Frame-Options可以设置以下三个值:DENY:不让任何网页使用iframe加载我这个页面。SAMEORIGIN:只允许在相同域名(也就是我自己的网站)下使用iframe加载我这个页面。...在Django,使用中间件django.middleware.clickjacking.XFrameOptionsMiddleware可以帮我们堵上这个漏洞,这个中间件设置了X-Frame-Option...为SAMEORIGIN,也就是只有在自己的网站下才可以使用iframe加载这个网页,这样就可以避免其他别有心机的网页去通过iframe去加载了。

51210
领券