读书人

多层嵌套iframe 有关问题

发布时间: 2012-04-06 12:22:24 作者: rapoo

多层嵌套iframe 问题
多层嵌套iframe 问题

我有一网页main.html 内有
<iframe src="product.html" name="main" marginheight="0" scrolling="no" frameborder="0" width="100%" height="300" onload="javascript:dyniframesize('main');"></iframe>

product.html中有一FLASH按钮和一框架
<iframe src="1.html" name="main_product" width="100%" height="250" marginheight="0" scrolling="No" frameborder="0" id="main" onload="javascript:dyniframesize('main_product')"></iframe>

我通过点击FLASH各按钮调用不同网页(如1.html\2.html到main_product中显示),如1.html高度为50PX,2.html高度为100PX,我默认第一次打开main.html时网页高度都显示正常,当我点击FLASH按钮调用2.HTML时网页高度还是显示的1.HTML的高度50PX,只有当把整个网页刷新一下才会显示正常的100px,请问这个情况如何解决??
dyniframesize函数为ifram框架自适应高度调整函数

--------------函数如下

JScript code
<script language="javascript" type="text/javascript"> <!--ifram框架自适应高度调整函数 -->function dyniframesize(down) { var pTar = null; if (document.getElementById){ pTar = document.getElementById(down); } else{ eval('pTar = ' + down + ';'); } if (pTar && !window.opera){ //begin resizing iframe pTar.style.display="block" if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){ //ns6 syntax pTar.height = pTar.contentDocument.body.offsetHeight +20; pTar.width = pTar.contentDocument.body.scrollWidth+20; } else if (pTar.Document && pTar.Document.body.scrollHeight){ //ie5+ syntax pTar.height = pTar.Document.body.scrollHeight; pTar.width = pTar.Document.body.scrollWidth; } } } </script>




[解决办法]
HTML code
<script language="javascript" type="text/javascript"> <!--ifram框架自适应高度调整函数 -->function dyniframesize(o) {   if(!o) o=document.getElementById(o);  if(!o){alert('神马状况,怎么都不对?');  return;}  //begin resizing iframe   o.style.display="block" ;  doc=o.contentDocument||o.contentWindow.document  if (o.contentDocument && o.contentDocument.body.offsetHeight){     o.style.height = o.contentDocument.body.offsetHeight +20;     o.style.width = o.contentDocument.body.scrollWidth+20;   }   else if (o.Document && o.Document.body.scrollHeight){     //ie5+ syntax     o.style.height = o.Document.body.scrollHeight;     o.style.width = o.Document.body.scrollWidth;   } } </script><iframe src="1.html" name="main_product" width="100%" height="250" marginheight="0" scrolling="No" frameborder="0" id="main" onload="javascript:dyniframesize(this)"></iframe>
[解决办法]
探讨

现在的问题是,好像点击product.html中FLASH按钮时没有执行onload="javascript:dyniframesize('main_product')这句话
所以造成不能刷新,页面高度还是原来的

[解决办法]
探讨

可以在FLASH如何写 onload="javascript:dyniframesize('main_product') 函数调用啊?
我的flash按钮调用网页代码是:
getURL(links[this.i], target="main_product");
,如果用纯粹的刷新操作,这样也会使flash按钮状态还原的

读书人网 >CSS

热点推荐