2

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

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

4

1 回答 1

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>

你的网页

添加属性local以指向根目录中的 name.html。

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

您还应该确保您网站上的代码段位于页面所有内容的下方,因此最好将其放在</body>标签之前。

您可以从这里下载包含name.htmleasyxdm.swf的 easyxdm 最新版本。

于 2013-11-08T03:58:21.953 回答