1

我读了很多东西,我不确定这是否可以做到,每个人对此都有不同的方法。

我有一个与第三个合作伙伴网站链接的网站,甚至通过安全句柄,如果用户没有登录我的网站,第三个合作伙伴网站将不允许用户登录。此评论的提示是无法更改第三个合作伙伴上的任何单行代码。

另一方面,我在我的网站上有一个包含两件事的 html:

  1. <iframe>第三个合作伙伴站点。
  2. 一个<div>position:absoluteiframe 上工作的指南,就像“现在点击这里,现在去那里”。

到目前为止一切顺利,我还使用以下 JQuery 脚本将 iframe 高度调整为供应商文档:

<script type="text/javascript">
function adjustmyiframe() {
var theFrame = $('#iFrameToAdjust', parent.document.body);
theFrame.height($(document.body).height() + 100);
}
</script>

我的 iframe 是:

<iframe 
id="iFrameToAdjust" 
onload="adjustmyiframe();"
width="100%"
height="100%" name="myiframe" frameborder="1" vspace="0" hspace="0"
marginwidth="0" marginheight="0" scrolling="no" noresize

 src="http://externalsite"></iframe>

再说一次,到目前为止一切都很好。但是当用户点击 iframe 内的链接时,供应商网站当然会重新加载并具有不同的高度,并且我的 iframe 不会再次调整。

所以我的问题是:

  • 每次供应商网站调整高度或加载新页面时,我可以自动调整 iframe 高度吗?我该怎么做?
  • 计时器选项的性能真的很差吗?

谢谢和亲切的问候

4

1 回答 1

1

在这种情况下,最好避免事件侦听并使用递归轮询它setTimeout

function adjustmyiframe() {
    var theFrame = $('#iFrameToAdjust', parent.document.body);
    theFrame.height($(document.body).height() + 100);
    setTimeout(adjustmyiframe, 1000); // check again in 1 second.
}
于 2012-09-19T20:51:09.980 回答