我将iFrame代码提供给客户端,以便他们可以显示我网站中的动态内容。我希望他们页面上的iFrame能够调整大小以适合我的内容。我遵循了easyXDM网站上的指示,但也许我遗漏了一些东西。

我没有收到任何错误,但iFrame保持默认高度(150像素)。我提供给客户网站的代码是:

<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>


我希望有一些简单的事情我做错了...

最佳答案

这很晚,但是您尚未添加任何备份传输方法。将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>标记之前。

您可以从here下载easyxdm最新版本,其中包含name.html和easyxdm.swf。

07-28 06:45