Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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中使用document.getElementByid更改iframe的宽度/高度?_Javascript_Html_Css_Iframe - Fatal编程技术网

如何在javascript中使用document.getElementByid更改iframe的宽度/高度?

如何在javascript中使用document.getElementByid更改iframe的宽度/高度?,javascript,html,css,iframe,Javascript,Html,Css,Iframe,我尝试使用document.getElementByIdframe-id,但似乎有问题。大多数情况下,它返回undefined或null,但有时它仅在第一次调用它时返回iframe,然后再次开始返回undefined。此外,我无法使用document.getElementByIdframe-id.style.width更改或获取样式属性。这是你可以用控制台检查的小提琴 为什么在javascript中iframe元素不能与document.getElementByid或document.getEl

我尝试使用document.getElementByIdframe-id,但似乎有问题。大多数情况下,它返回undefined或null,但有时它仅在第一次调用它时返回iframe,然后再次开始返回undefined。此外,我无法使用document.getElementByIdframe-id.style.width更改或获取样式属性。这是你可以用控制台检查的小提琴


为什么在javascript中iframe元素不能与document.getElementByid或document.getElementsByClassName一起访问?

它们是。除了window.postMessage之外,您不能在iframe中使用javascript执行任何操作,但是元素选择与javascript中的任何其他选择器一样工作

添加

console.log(document.getElementById("frame-id"));

你的工作应该很完美。

你发布的代码中可能存在重复的代码,但iframe标记中没有id=frame id。你确定在DOM中声明iframe html标记后会执行javascript代码吗?@Pierfrancesco我只在控制台窗口中使用javascript,在页面完全加载一段时间后。你知道吗可以使用控制台进行检查-不是在JS FIDLE时,因为包含文档的框架不是顶级框架,所以文档将是错误的文档。console.logdocument.getElementByIdframe-id;返回未定义的。您是在您的站点上运行还是在代码段中运行?我尝试了这两种方法。我使用了html文件和控制台窗口中的所有内容。在这个JSFIDLE上也没有发生任何事情。请注意,您不能在JSFIDLE上的控制台中运行javascript。JSFIDLE内容被放入iframe中,您将遇到安全限制。