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

微前端学习笔记(3):前端沙箱之JavaScript的sandbox(沙盒沙箱)

/wujie/blob/master/packages/wujie-core/src/iframe.ts将这套机制封装进wujie框架于子应用完全独立的运行在iframe内,路由依赖iframe的location.../src/index.js"]();})();但 IIFE 只能实现一个简易的沙箱,并不算一个独立的运行环境,函数内部可以访问上下文作用域,有污染作用域的风险。...这有个例子方便你了解如何将eval()的使用转变为Function()。...// 创建一个安全的沙盒环境function createSandboxEnvironment() {    const sandbox = Object.create(null); // 创建一个没有原型的对象...; ${code} } }`);            return sandboxFunction(sandboxProxy).call(sandbox);        }    };}// 使用安全的沙盒环境

18110

基于drawio构建流程图编辑器

2012年,JGraph团队将已有的程序删除了Java applet相关的部分,并且从域名diagram.ly改为draw.io,这是因为创始人觉得io比ly更酷,而drawio则成为了一个基于mxGraph...那么问题来了,我们应该如何将drawio集成到自己的项目当中,我们在这里提供了两种方案,一种是独立编辑器,这种方式是将Npm包打包到自己的项目当中,另一种是嵌入drawio,这种方式是通过iframe与部署好的...github.com/maxGraph/maxGraph/issues/102 // https://github.com/jgraph/mxgraph/blob/master/javascript/src...在这里我们更要关注的是如何将drawio嵌入到我们的应用当中,drawio提供了embed的方式来帮助我们集成到自己的应用中,通过iframe的方式利用postMessage进行通信,这样也不会受到跨域的限制...("src", url); iframe.setAttribute("frameborder", "0"); iframe.setAttribute( "style",

1K10

无界微前端是如何渲染子应用的?

(iframe, { // iframe 的 url 设置为主应用的域名 src: mainHostPath, style: "display: none",...创建 iframe 的 DOM,并设置属性 2. 将 iframe 插入到 document 中(此时 iframe 会立即访问 src) 3....因为要创建一个纯净的 iframe,防止 iframe 被污染,假如该 url 的 JS 代码,声明了一些全局变量、函数,就可能影响到子应用的运行(假如子应用也有同名的变量、函数) 为什么 iframe...的 src 要设置为主应用的域名 为了实现应用间(iframe 间)通讯,无界子应用 iframe 的 url 会设置为主应用的域名(同域) • 主应用域名为 a.com • 子应用域名为 b.com...,原本是全局变量,包一层函数后,变量会被留在函数内 于是就有了下面的方案: // 挟持 iframeWindow.Document.prototype 的 querySelector // 从 proxyDocument

1.1K30

无界微前端是如何渲染子应用的?

(iframe, { // iframe 的 url 设置为主应用的域名 src: mainHostPath, style: "display: none",...;}创建 iframe 主要有以下流程:创建 iframe 的 DOM,并设置属性将 iframe 插入到 document 中(此时 iframe 会立即访问 src)停止 iframe 的加载(stopIframeLoading...因为要创建一个纯净的 iframe,防止 iframe 被污染,假如该 url 的 JS 代码,声明了一些全局变量、函数,就可能影响到子应用的运行(假如子应用也有同名的变量、函数)为什么 iframe...的 src 要设置为主应用的域名为了实现应用间(iframe 间)通讯,无界子应用 iframe 的 url 会设置为主应用的域名(同域)主应用域名为 a.com子应用域名为 b.com,但它对应的 iframe...,原本是全局变量,包一层函数后,变量会被留在函数内于是就有了下面的方案:// 挟持 iframeWindow.Document.prototype 的 querySelector// 从 proxyDocument

5.1K30

目前可用的微博秀的嵌入方法大全(亲测2019年2月仍有效)

来嵌入的,博客园默认不支持iframe标签,可通过构造字符串的方式添加iframe来解决,也可以直接用embed标签替换掉iframe。...将从网页左下角复制到的代码中的src=“http://” 改为src="//" 即可。...3.解决问题3目前已知如下3种方法(以上述截图上微博的uid=2606405674&verifier=d5cf5ffc为例): a.复制左下角的代码,在其基础上 将iframe改为embed,删除 frameborder...亲测可知,后面这种官方推荐的方法在移动端也能正常显示,但iframe有些浏览器(比如: iPhone自带的Safari就不显示)不支持。...至于豆瓣秀就很简单了,打开豆瓣收藏秀 https://www.douban.com/service/badgemaker,将相应的js贴到公告中即可(同样需要src=“http://” 改为src="/

2.5K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券