今天遇到一个js上的问题,就是在iframe中获取父级页面自己的dom节点.不跨域,不添加ID/Name等标识.请教了几位大神后得到了下面的两种思路.
方法一:先在iframe中给自己加一个标识,然后获取top.frames看看哪个iframe有自己这个标识.
代码如下
var rand = Math.random()+''; console.log('标记:'+rand) document.body.id = rand; for(i=0;i<top.frames.length;i++){ //查看哪个是自己 if(top.frames[i].document.body.id==rand){ console.log(i); } }
结果是可以的
方法二:
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/frameElement
window.frameElement 虽然该属性名为frameElement,但该属性也会返回其他类型或者其他可嵌入窗口的元素.
哈哈 秒杀方法一~