第三个嵌套的空白iframe是不可见的

时间:2016-02-26 10:29:13

标签: javascript iframe

我遇到了一个非常令人惊讶的行为,我无法弄清楚它的来源:我在javascript中构建了3个嵌套的空白iframe,但第三个是隐形的。

在Chrome中测试过。以下是代码:(https://jsfiddle.net/44uL3bku/

(function() {
    var i1 = document.createElement('iframe');
    i1.width  = 315;
    i1.height = 300;
    i1.addEventListener('load', function() {
        this.contentDocument.body.innerHTML = 'IFRAME 1<br>';
        var i2 = this.contentDocument.createElement('iframe');
        i2.width  = '100%';
        i2.height = '100%';
        i2.addEventListener('load', function() {
            this.contentDocument.body.innerHTML = 'IFRAME 2<br>';
            var i3 = this.contentDocument.createElement('iframe');
            i3.width  = '100%';
            i3.height = '100%';
            i3.addEventListener('load', function() {
                this.contentDocument.body.innerHTML = 'IFRAME 3<br>';
            });
            this.contentDocument.body.appendChild(i3);
            var i4 = this.contentDocument.createElement('iframe');
            i4.width  = '100%';
            i4.height = '100%';
            i4.addEventListener('load', function() {
                this.contentDocument.body.innerHTML = 'IFRAME 3<br>';
            });
            this.contentDocument.body.appendChild(i4);
            var bottom = document.createElement('div');
            bottom.innerHTML = 'bottom';
            this.contentDocument.body.appendChild(bottom);
        });
        this.contentDocument.body.appendChild(i2);
    });
    document.body.appendChild(i1);
})();

为了清楚起见:正确设置了DOM树,并且&#34; IFRAME 3&#34;实际上是在那里。但它没有显示出来。

此外,它只涉及空白的iframe。只要有一个常规的src,一切都能正常工作。

有什么想法吗? 谢谢大家!

0 个答案:

没有答案