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