我有一个动态创建的iFrame,可通过以下方式自动加载其HTML:

        var newFrame = document.createElement('frame');
        newFrame.id = theId;
        newFrame.width = "200";
        newFrame.height = "200";
        newFrame.style.width = "200px";
        newFrame.style.height = "200px";
        newFrame.src = 'data:text/html;charset=utf-8,' + encodeURI('<script type="text/javascript>var $ = parent.$;</script>' + data);
        $('#menuContent').append(newFrame);


但是,在页面上,iFrame的widthheight都呈现为0。
iFrame内部的内容已正确加载(通过开发工具可以看到)。我做错了什么吗?

这是已加载的iFrame的图片:

最佳答案

您正在创建一个frame元素,该元素只能在frameset元素内使用,并且缺少widthheigh属性。请改用iframe元素,即将第一条语句更改为

var newFrame = document.createElement('iframe');

关于html - 动态创建的iFrame,宽度为0,高度为0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23988209/

10-11 01:29