js 在iframe中获取父级页面自己的dom节点

今天遇到一个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);
            }
        }

屏幕快照 2016-06-30 上午11.30.37
结果是可以的
方法二:
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/frameElement
window.frameElement 虽然该属性名为frameElement,但该属性也会返回其他类型或者其他可嵌入窗口的元素.

哈哈 秒杀方法一~

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code