javascript - 编辑 iframe 动态内容

标签 javascript jquery html css iframe

我正在尝试编辑在外部 URL 上生成的动态内容的大小。 这是我的代码:

HTML:

<div id="movie">
    <iframe name="ifr" id="ifr" src="http://zeyu.ucoz.es/directvenvio.html" width="100%" height="480" frameborder="0" scrolling="no"></iframe>
</div>

在这个源 url 中,有 2 个脚本,生成一个 iframe,

我正在尝试更改这条线的宽度高度:

<script type='text/javascript'> 
 width=620, 
 height=382, 
 channel='zeyudirtc', 
 g='1';
</script>

这就是我正在尝试的:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#ifr').ready(function(){
        $('#ifr').contents().find('script').html('width=960, height=480, channel="zeyudirtc" ');
    });
});
</script>   

但这行不通。

可以帮帮我吗?

提前致谢。

最佳答案

如果您有权访问 iframe 源,则有可能。 您必须将 Javascript 代码添加到 iframe 内容和周围页面。

您需要在 iframe 内容中的代码应该是这样的:

首先获取iframe需要的高度。

var height = getDocHeight();
    var height = $("html").height();
    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");
    if(msie > 0){
        height = Math.max(
        document.documentElement["clientHeight"],
        document.documentElement["scrollHeight"],
        document.body["scrollHeight"]
        );
    }

然后你要给周围的页面发消息。像这样:

parent.postMessage(height, "DomainOfTheSurroundingPage");

iframe 就是这些。

在其他站点上,您需要收听消息。

 if (window.addEventListener) {
    window.addEventListener ("message", receiveMessage, false);        
} else {
    if (window.attachEvent) {
        window.attachEvent("onmessage", receiveMessage, false);
    }
}

function receiveMessage(event)
{       
  var height = event.data; 
  do something();
}

现在您可以使用高度(以像素为单位)。 将 iframe 包装在一个 div 中。

Div
  --- iframe

然后将包装器 div 的高度设置为 0,将填充底部设置为您提交的高度。

这应该可以解决问题。

如果您无法将代码添加到 iframe 内容,那么您将无法动态编辑 iframe 的高度和宽度。

关于javascript - 编辑 iframe 动态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30909134/

相关文章:

html - 当链接覆盖 p、h3 和 img 时从 p 中删除下划线

javascript - google maps api 多标记信息窗口只显示最后一个元素

javascript - 拉入 JSON 数据

javascript - 从一个类的另一个类创建一个变量

javascript - 在 HTML 中的两个 img 元素之间共享一张物理图像

html - 640px PSD 文件需要在所有设备中修复

javascript - JavaScript 中的 document.getElementById 问题

php - 如何将 javascript onclick 函数与 php 集成?

javascript - 幻灯片轮播?

javascript - 黑莓5.1浏览器输入最大长度1不支持