Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何卸下iframe车身衬垫_Javascript_Iframe - Fatal编程技术网

Javascript 如何卸下iframe车身衬垫

Javascript 如何卸下iframe车身衬垫,javascript,iframe,Javascript,Iframe,好的,我一直在努力解决这个问题…我正在使用javascript动态生成iFrame…我试图做的是删除默认的填充和边距,并将其设置为0px…这是我的代码 var newDiv = create_New_Div(); //this simple returns the id of the newly created //div in javascript var iframeIdName="my"+inival_iframear

好的,我一直在努力解决这个问题…我正在使用javascript动态生成iFrame…我试图做的是删除默认的填充和边距,并将其设置为0px…这是我的代码

var newDiv = create_New_Div(); //this simple returns the id of the newly created
                           //div in javascript

        var iframeIdName="my"+inival_iframearea+"iframe";
        inival_iframearea++;
        var htcontents = "<iframe id='"+iframeIdName+"' frameborder='0'></iframe>";
        document.getElementById(newDiv).innerHTML = htcontents; 
var newDiv=create_New_Div()//这个简单函数返回新创建的
//javascript中的div
var iframeIdName=“my”+inival\u iframearea+“iframe”;
inival_iframearea++;
var htcontents=“”;
document.getElementById(newDiv.innerHTML=htcontents;
如果我喜欢
body{padding:0px;margin:0px}
wat发生的情况是主体有一个零填充和边距,但是当用户单击按钮后生成iframe时,该样式不应用于iframes主体,并且具有我不想要的默认填充和边距!!
谢谢

由于您没有在iframe中加载任何内容,因此您必须抓取其中的文档并自己进行更改

var
   iframe = document.getElementById(newDiv).getElementsByTagName('iframe')[0];

function restyle() {
   var body = iframe.contentDocument.body;
   body.style.padding = 0;
   body.style.margin = 0;
}

iframe.onload = restyle;
restyle();
关于
contentDocument
,有一些警告,因此您可能会在不同的浏览器中看到奇怪的行为。此外,根据浏览器对缺少
src
属性的解释,访问文档时可能会遇到问题。我见过调用页面是https的问题,缺少src会导致浏览器加载
about:blank
,它有不同的协议,因此违反了相同的源策略


onload
的原因是,即使您没有加载单独的页面,浏览器仍必须在其中加载“某物”。YMMV.

非常感谢jimbojw…它的作品非常完美!!顺便说一句,我不能使用“iframe.onLoad=restyle”行,因为存在求和错误!它到底做了什么?onload的目的是处理浏览器尚未“加载”iframe的情况。即使您没有指定src属性,iframe仍然会在其中加载一个文档,并且您不能指望它是同步完成的。