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