Tengo un iframe en una página. Para este ejemplo, su alto es 0px y el ancho es 100px.
Quiero console.log estos valores con JavaScript.
Por el momento puedo acceder al iframe usando window.frames[0] , pero ¿cómo obtengo el ancho y la altura? Lo que estoy haciendo actualmente devuelve undefined .
Aquí está el código y Fiddle
https://jsfiddle.net/prvmwg5q/
<!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <title>Page Title</title> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="stylesheet" href=""> <style> </style> <script src=""></script> <body> <iframe data-search-id="mainline-top" style="height: 0px; width: 100px;"> Test </iframe> <script> console.log(window.frames[0]); console.log(window.frames[0].offsetHeight); // Undefined console.log(window.frames[0].offsetWidth); // Undefined </script> </body> </html>window.frames no devuelve el elemento DOM. https://developer.mozilla.org/en-US/docs/Web/API/Window/frames
En su lugar, asigne una id a su iframe y use getElementById en su lugar.
EDITAR: O, mejor, como señala @HereticMonkey:
document.querySelector('iframe')