如何在mootools中访问Iframe内容元素?

时间:2012-07-23 10:14:18

标签: mootools

myIFrame = new IFrame({
    id: 'iframe_content',
    src: '/iframe_src/'
});
console.dir(myIFrame);
var n = new Element('div', {
    style: {
        'width': '100px',
        'height': "100px",
        'border': '1px solid red'
    }
});

myIFrame.inject(document.body);
console.log("innerhtml", myIFrame.contentDocument.body.innerHTML);
console.dir(myIFrame.contentDocument.body);
n.inject(myIFrame.contentDocument.body);

div不会注入iframe,并且无法访问Ifrane中的任何元素。 我怎么能在mootools 1.4.0或MooTools 1.2

中做到这一点

1 个答案:

答案 0 :(得分:3)

当关于混合内容,即来自src=的内容和在运行中构建的其他DOM元素时,这有点复杂。

iframe会有一个load事件,当拾取src内容时会触发该事件。

http://jsfiddle.net/dimitar/AEP8T/

var myIFrame = new IFrame({
    id: 'iframe_content',
    src: 'http://fiddle.jshell.net/_display/',
    styles: {
        width: 640,
        height: 480
    },
    events: {
        load: function() {

            var n = new Element('div', {
                text: "hai there",
                styles: {
                    'width': '100px',
                    'height': "100px",
                    'border': '1px solid red'
                }
            });

            n.inject(this.contentDocument.body);

        }
    }
}).inject(document.body);

这仅在src和embed上下文位于同一域/端口等时才有效。