Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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_Css_Zuora - Fatal编程技术网

如何使用Javascript调整Iframe的宽度?

如何使用Javascript调整Iframe的宽度?,javascript,css,zuora,Javascript,Css,Zuora,在这一页的开头。因此,我怀疑在.setAttribute()运行时它不可用,该文件位于正文末尾的脚本标记内。我在这方面做得不多(你可以告诉我),所以我只需要弄清楚在添加iframe之后如何运行这行js(我猜)。问题是,你试图在浏览器渲染元素之前使用它 您应该在结束正文标记之前放置标记 另一种解决方案是使用DOMContentLoaded事件,例如: $( document ).ready(function() {} 我建议您通过执行style.width='500px'来更改宽度,而不是按属

在这一页的开头。因此,我怀疑在.setAttribute()运行时它不可用,该文件位于正文末尾的脚本标记内。我在这方面做得不多(你可以告诉我),所以我只需要弄清楚在添加iframe之后如何运行这行js(我猜)。

问题是,你试图在浏览器渲染元素之前使用它

您应该在结束
正文
标记之前放置
标记

另一种解决方案是使用
DOMContentLoaded
事件,例如:

$( document ).ready(function() {}

我建议您通过执行
style.width='500px'来更改宽度,而不是按属性执行,因为按照您的方式执行,
样式
属性将被完全替换


问题是您试图在浏览器渲染元素之前使用它

^好吧,这只与OP尝试的方法有关。但是,由于Iframe是动态添加的,并且由于操作对象不需要呈现DOM,因此他实际上不需要将他的标记移动到页面底部。因此,我们不能说这是问题的根源

至于OP

iFrame是动态添加的

由于“宽度”在技术上是一个属性和“样式”,另一个

document.addEventListener('DOMContentLoaded', function() {
  document.getElementById('z_hppm_iframe').setAttribute("style", "width:500px");
});

希望这有帮助

您是否尝试过
setAttribute('width','500px')
?您确定在尝试修改元素时该元素可用吗?请尝试在
window.load=function(){}
中包装代码。是否打开浏览器控制台?@KirkB您正在类上使用getElementById,这就是iframe为空的原因。看到我的答案了。@KirkB disrgard上一篇文章我看到你确实有一个iframe的id。所以函数内部应该是:document.getElementById('z_hppm_iframe')。style.width='500px';
document.addEventListener('DOMContentLoaded', function() {
  document.getElementById('z_hppm_iframe').setAttribute("style", "width:500px");
});
var iframe = document.create('iframe');
iframe.width = 500;
//or
iframe.style.width = '500px';