Javascript 使用easy xdm跨域定期报告dom属性

Javascript 使用easy xdm跨域定期报告dom属性,javascript,iframe,cross-domain,dynamic-resizing,Javascript,Iframe,Cross Domain,Dynamic Resizing,我正在尝试使用easyXDM根据iframe的内容高度动态调整其高度。代码每5秒调用一次以检查iframe的body.scrollheight,理论上,如果页面高度发生更改,iframe高度将每5秒更新一次。它在初始调用时工作-iframe甚至可以正确调整大小。问题在于,即使iframe内容的高度已更改,提供程序仍会继续返回内容的原始高度 守则: 使用者(包含iframe的页面): 提供程序(iframe内容): 在尝试easyXDM之后,它最终通过使用另一个示例工作: 仅在源页面中: <

我正在尝试使用easyXDM根据iframe的内容高度动态调整其高度。代码每5秒调用一次以检查iframe的body.scrollheight,理论上,如果页面高度发生更改,iframe高度将每5秒更新一次。它在初始调用时工作-iframe甚至可以正确调整大小。问题在于,即使iframe内容的高度已更改,提供程序仍会继续返回内容的原始高度

守则:

使用者(包含iframe的页面):

提供程序(iframe内容):


在尝试easyXDM之后,它最终通过使用另一个示例工作:

仅在源页面中:

<script type="text/javascript">
    setInterval(function () {
        parent.postMessage(document.body.scrollHeight, '*');
    }, 500);    
</script>

setInterval(函数(){
parent.postMessage(document.body.scrollHeight,'*');
}, 500);    
在框架页面中:

<script type="text/javascript">

    if (window.attachEvent) {
        // IE
        window.attachEvent("onmessage", handleMessage);
    }

    if (window.addEventListener) {
        // FF
        window.addEventListener("message", handleMessage, false);
    }

    function handleMessage(e) {
        $("#frameId").attr("height", e.data);
    }

</script>
<iframe id="frameId" src="http://mysourceurl.com.br/" width="100%"
    frameborder="0" scrolling="no"></iframe>

如果(窗口附件){
//即
attachEvent(“onmessage”,handleMessage);
}
if(window.addEventListener){
//FF
addEventListener(“消息”,handleMessage,false);
}
函数句柄消息(e){
$(“#frameId”).attr(“高度”,即数据);
}

工作得很有魅力!我的iframe高度将在每次setInterval交互时刷新。

在尝试easyXDM后,它最终通过使用另一个示例工作:

仅在源页面中:

<script type="text/javascript">
    setInterval(function () {
        parent.postMessage(document.body.scrollHeight, '*');
    }, 500);    
</script>

setInterval(函数(){
parent.postMessage(document.body.scrollHeight,'*');
}, 500);    
在框架页面中:

<script type="text/javascript">

    if (window.attachEvent) {
        // IE
        window.attachEvent("onmessage", handleMessage);
    }

    if (window.addEventListener) {
        // FF
        window.addEventListener("message", handleMessage, false);
    }

    function handleMessage(e) {
        $("#frameId").attr("height", e.data);
    }

</script>
<iframe id="frameId" src="http://mysourceurl.com.br/" width="100%"
    frameborder="0" scrolling="no"></iframe>

如果(窗口附件){
//即
attachEvent(“onmessage”,handleMessage);
}
if(window.addEventListener){
//FF
addEventListener(“消息”,handleMessage,false);
}
函数句柄消息(e){
$(“#frameId”).attr(“高度”,即数据);
}
工作得很有魅力!我的iframe高度将在每次setInterval交互时刷新