2013-04-16 26 views
0

我需要改变iframe大小。这是我的html代码的iFrame大小变化的JavaScript

<iframe id="stream" width="720" height="433" src="#HiddedIt" style="border:0;outline:0" frameborder="0" scrolling="no"></iframe> 

这是我的javascript:

if (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth < 1100){ 
    document.getElementById("stream").width = "485px"; 
    document.getElementById("stream").height = "295px"; 
} 

当用户的分辨率比1100低,你能告诉那里我做了它不会改变iframe的大小错误?谢谢。

if是工作,但iframe的规模不会改变。

+1

JavaScript是否在文档流中的iframe之前出现? – ASGM

+0

我并不完全理解你的问题,但JavaScript是定期通过'' – Kyrbi

回答

1

我觉得你的问题是,JavaScript是在HTML中之前到来。浏览器按顺序解析HTML。

在没有看到您的实际文档的情况下,我只能想象您在调用<head>中的Javascript并在<body>中创建。

问题是,当执行<head>中的Javascript时,没有创建,所以没有任何对象可以更改它!

一种解决方案是创建后打电话给你的JavaScript中的<body>。另外,您也可以使用window.onloadiframe创建后运行该脚本:

window.onload = function() { 
    if (
     window.innerWidth < 1100 || 
     document.documentElement.clientWidth < 1100 || 
     document.body.clientWidth < 1100 
    ){ 
     alert("Yes"); 
     document.getElementById("stream").width = "485px"; 
     document.getElementById("stream").height = "295px"; 
    } 
} 
0

您可以使用JQuery的JavaScript库以编程方式调整IFRAME。

在下面的值“#iframe”的代码将是您的IFRAME的ID。然后,您可以插入仅为IFRAME设置CSS高度的高度值。

$("#iframe").css("height", "50px"); 

您可以使用.css设置任何CSS值。