2012-11-28 44 views
2

我將我的iFrame代碼提供給客戶端,以便他們可以顯示來自我的網站的動態內容。我希望生活在他們頁面上的iFrame能夠調整大小以適合我的內容。我遵循easyXDM網站的指示,但也許我錯過了一些東西。使用easyXDM調整IFrame

我沒有得到任何錯誤,但iFrame保持默認高度(150px)。我給我的客戶網站的代碼是:

<script src="http://test.pronetis.net/SNM.CMS/js/easyXDM/easyXDM.debug.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    var transport = new easyXDM.Socket({ 
    remote: "http://www.lipsum.com/", 
    container: "container", 
    onMessage: function (message, origin) { 
     this.container.getElementsByTagName("iframe")[0].style.height = message + "px"; 
    } 
    }); 
</script> 
<div id="container"></div> 

這就是那張文件我想嵌入代碼:

<script src="http://test.pronetis.net/SNM.CMS/js/easyXDM/easyXDM.debug.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    var socket = new easyXDM.Socket({ 
    onReady: function() { socket.postMessage(document.body.scrollHeight) } 
    }); 
</script> 

我希望有簡單的東西我做的錯...

回答

1

這很晚但你還沒有添加任何備份傳輸方法。把name.html文件和easyxdm.swf文件在您的網站的根目錄,然後使用下面

客戶網站修改後的代碼

添加remoteHelper屬性指向你的name.html,並添加swf屬性以指向您的easyxdm.swf文件。

<div id="container"></div> 
<script src="http://test.pronetis.net/SNM.CMS/js/easyXDM/easyXDM.debug.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    var transport = new easyXDM.Socket({ 
    remote: "http://www.lipsum.com/", 
    remoteHelper: "http://www.lipsum.com/name.html", 
    swf: "http://www.lipsum.com/easyxdm.swf", 
    container: "container", 
    onMessage: function (message, origin) { 
     this.container.getElementsByTagName("iframe")[0].style.height = message + "px"; 
    } 
    }); 
</script> 

您的網站

添加屬性當地指向你的根name.html。

<script type="text/javascript"> 
    var socket = new easyXDM.Socket({ 
     local: "name.html", 
     onReady: function() { 
      socket.postMessage(document.body.scrollHeight); 
     } 
    }); 
</script> 

您還應該確保您網站上的片段是所有網頁內容的下面,所以它可能是最好的</body> tag之前出臺。

你可以下載一個包含name.htmlhereeasyxdm.swf的easyxdm最新版本。