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

获得同级iframe页面的指定ID元素的几种实现方法

1.JS实现:   var object= window.parent.frames("要获得的iframe的name").contentDocument.getElementById("元素id");...2.jquery实现:   var object =$( "元素id", window.parent.frames("iframe的name").contentDocument); iframe获得父页面指定...id的元素的方法:   var object = $("元素id", window.parent.document); 父页面获得iframe子页面里指定id元素的方法:   var object =...$(this).contents().find("元素id"); 注:window.frames("iframe的name")、document.frames("iframe的name")和window.frames...["iframe的name"]、document.frames[""iframe的name"]的区别   1.第一个和第三个具有浏览器的兼容性,第二个和第四个只有在IE和Opera浏览器支持,而别的不支持

1.7K20

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

将 UI 渲染到 shadowRoot 我们先来看看现代的前端框架,是如何渲染 UI 的 以 Vue 为例,需要给 Vue 指定一个 DOM 作为挂载点,Vue 会将组件,挂载到该 DOM 上 import.../comp.vue' // 传入根组件 const app = createApp(Comp) // 指定挂载点 app.mount('#app') 挂载到 #app,实际上使用 document.querySelector...查找 DOM,然后挂载到 DOM 里面 但是正如上一小节说的,在无界微前端会有问题: • 如果在 iframe 中运行 document.querySelector,就会在 iframe 中查找就会查找不到...,有些需要挂载到 iframe 中。...这里直接举个例子: • onunload 事件,需要挂载到 iframe 中 • onkeyup 事件,需要挂载到主应用的 window 下(iframe 中没有 UI,UI 挂载到主应用 document

1.2K30

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

将 UI 渲染到 shadowRoot我们先来看看现代的前端框架,是如何渲染 UI 的以 Vue 为例,需要给 Vue 指定一个 DOM 作为挂载点,Vue 会将组件,挂载到该 DOM 上import.../comp.vue' // 传入根组件const app = createApp(Comp)// 指定挂载点app.mount('#app')挂载到 #app,实际上使用 document.querySelector...查找 DOM,然后挂载到 DOM 里面但是正如上一小节说的,在无界微前端会有问题:如果在 iframe 中运行 document.querySelector,就会在 iframe 中查找就会查找不到,...,有些需要挂载到 iframe 中。...这里直接举个例子:onunload 事件,需要挂载到 iframe 中onkeyup 事件,需要挂载到主应用的 window 下(iframe 中没有 UI,UI 挂载到主应用 document 的 shadowRoot

5.2K30

怎么防止同事用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...ShadowRealm api,已经stage3了,可以手动创建一个隔离的js运行环境,被认为是下一代微前端的利器,不过现在兼容性还不太好,代码看起来有一丢丢像eval,不过和vm的问题一样,需要我们指定某段代码执行更多...Promise.prototype.then和我们备份的是否相等,就可以甄别出原型链有没有被污染 ,我真是一个小机灵首先我们要备份相关函数,由于我们需要检查的不是很多,就不需要对window进行遍历了,指定几个重要的...checkNative就可以啦,存储在_snapshot和_prototype里的内容,嘎嘎遍历出来,和当前运行时获取的JSON,Promise.prototype.then对比就可以啦,而且我们有了备份, 还可以一个

3K20

怎么防止同事用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...ShadowRealm api,已经stage3了,可以手动创建一个隔离的js运行环境,被认为是下一代微前端的利器,不过现在兼容性还不太好,代码看起来有一丢丢像eval,不过和vm的问题一样,需要我们指定某段代码执行更多...Promise.prototype.then和我们备份的是否相等,就可以甄别出原型链有没有被污染 ,我真是一个小机灵首先我们要备份相关函数,由于我们需要检查的不是很多,就不需要对window进行遍历了,指定几个重要的...checkNative就可以啦,存储在_snapshot和_prototype里的内容,嘎嘎遍历出来,和当前运行时获取的JSON,Promise.prototype.then对比就可以啦,而且我们有了备份, 还可以一个

3.7K20

nf-Press —— 在线文档也可以加载组件和编写代码

组件定位 如果组件只能在文档末尾加载,那么不是太好看,所以还需要一个“定位”功能,在文档里面指定加载位置。...我们可以直接在 md 格式的文档里面一个div,设置属性即可: <div id="test2" data-key="testComponent" data-props='{"msg":"div...这样在查看文档的时候,组件就会被加<em>载到</em>这个div里面。 看看效果 在线编写代码、修改代码、运行代码 我知道有很多第三方网站提供了完整的在线写代码的功能,一些官方文档也在用,但是总感觉有点“距离感”。...<em>iframe</em> + CDN 搞不定问题怎么办?绕过去吧。于是开启了古老的 <em>iframe</em>。... import { defineComponent, watch

32620

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

div> 1111 1111 好吧,因为浏览器厂商可以随便给属性...当一个脚本这样做,多个窗口可以相互操作 iframe 已经处于半废弃的inframe标签。挺无奈的,已经快废了。 不过学习还是学习一下吧 iframe是用来嵌套多个文档的。...由iframe所创建的嵌套浏览上下文是用自己的window对象表示的。每一个iframe都是一个独立的window对象。 对于客户端js来说,窗口,标签页,iframe和框架都是浏览上下文。...(或者递归打开的窗口),脚本才能通过名字指定存在的窗口,或者如果是一个窗口内嵌在另一个窗口里的窗体,那么在它们的脚本之间可以相互导航。...并同时可以作为标签a和标签form的taget的值,表示加载到哪 open第三个参数表明如何打开这个标签的,以及大小(一般弹窗广告喜欢这样做) // 打开允许改变大小的浏览器的窗口,包含地址栏,工具栏和地址栏

2.1K50

墨瞳漫画h5一期 vuejs总结

router是通过html5 history的pushState来纪录当前滚动位置的,切换路由的时候,把当前位置push进去,用户后退时,会触发onpopstate事件,这个时候再把位置取出来并滚动到指定位置...也就是watcher里还要一句如上的滚动。...= document.createElement('iframe'); iframe.src = '....then((data) => {this.busy = false;}) } 但是这个组件在路由切换的时候会出问题,routerView被移除时,组件会触发加载(大概是因为页面高度突然塌陷),而且会一直加载到我们自己设置的停止条件...main.js 另外,可以修改下生成的静态文件,vue-cli默认声称的静态文件时间戳是加在文件名上的,如app.fefdfd7s8f78sd7.js,这样版本迭代很快后会使服务器上积压过多无用文件,我们希望这样时间戳

1.1K10

rebindMultiA:一款功能强大的多重A记录重绑定攻击测试工具

此服务器将以包含两个iframe的页面作为响应,一个指向/steak,另一个指向/rebind。/steake iframe将加载一个恶意页面,以访问第二个iframe并获取内容。...一旦目标内容被加载到第二个iframe中,第一个ifame就可以访问它,窃取数据,并将其过滤到攻击者的第二个恶意HTTP服务器——回调服务器。 此攻击仅适用于Windows环境。...,默认为31337 -d DNS_PORT, --dns-port DNS_PORT 指定DNS服务器端口,默认为53 -f FILE, -...-file FILE 指定HTML文件来显示第一个iframe,默认为steal.html -l LOCATION, --location LOCATION...指定需要从目标设备上窃取数据的地址,默认为/ (向右滑动,查看更多) 如果你遇到如下所示的错误信息: ┬─[justin@RhynoDroplet:~/p/rebindMultiA]─[14:26:24

22710
领券