解决Cross Domain的自动调整Iframe高度

最近组里有点小忙,用公司自己的Force.com平台写的Customer Support应用刚刚Pilot,在做Code Refactoring。今天又被分配一个任务要在一个页面里嵌入另一个页面,如果这两个页面在同一个域名下的话,很容易或者子页面的ScrollHeight就可以了。

我的问题就是两个页面不在同一个Domain里面,于是Parent就不能访问Child Frame的一些参数,找了半天终于找到一个牛人的[url=http://www.pixelmedia.com/blog/dynamic-iframe-height/]解决方案[/url]。通过把Child Frame的实际高度放在Location的Hash值里传给Parent再刷新Parent。

以下给出一个没有用JQuery的版本:

在Child Frame里要加上的Javascript代码:




Parent页面里面要加入Javascript

function setHeight() {
var childFrame = document.getElementById('ChildFrameId');
var newHeight = parseInt(location.hash.substring(1)) + 50;
childFrame.height = newHeight;
childFrame.style.visibility = 'visible';
}


Parent页面里的Iframe片段