1. 程式人生 > >搞毛線!測試iframe跨域自適應失敗了!

搞毛線!測試iframe跨域自適應失敗了!

本來還以為可以成功推出互推聯盟 iframe 雙模式的,自己網站測試成功了,最後發現別人呼叫是不能自適應的,只有我自己的網站可以自適應,鬱悶!!!

下面引用部分是下午辛苦整理的文章,最後發現失敗了,一下就洩氣了,剛釋出的文章不得不先改成草稿狀態,回家又繼續查了半天資料,發現如果要這個 iframe 跨域還能自適應高度,必須要我網站裡面製作針對呼叫者的中間頁面(詳細教程)!

也就是說,只要有一個博友呼叫我的 iframe,我就得製作一個和他域名對應的中間頁,我勒個去,搞毛線啊!

算了, 先不折騰這個東西了,就維持老樣子吧!

原文:《互推聯盟 iframe 推出雙模式》

看到很多聯盟成員建議給這個通用 iframe 模組加上公共評論功能,其實幾天前瑪思閣就試過了,很容易實現,只需要加入呼叫評論的程式碼即可,但是一直在猶豫這個功能會不會對呼叫模組的博友帶來困擾呢?比如,某博友比較喜歡清爽簡單的介面?

好吧, 其實這也不是問題,那瑪思閣就麻煩一點,我做 2 個模板:一個帶評論和文字模組的交流模式一個僅包含成員列表和底部滾動公告的清爽模式,廢話不多說了,直接上程式碼:

一、交流模式

帶評論以及文字模組的 iframe 程式碼

Shell
1234567891011121314151617181920212223 <iframe id="rightFrame" name="rightFrame" scrolling="no" src="http://zhangge.net/alliance" frameborder="0" onload="this.style.height='475px'" style="padding: 0px; width: 100%;"></iframe>  <script type="text/javascript"
>               var browserVersion= window.navigator.userAgent.toUpperCase();       function reinitIframe(){          try{              var iframe=document.getElementById('rightFrame');              var bHeight=0;              if(browserVersion.indexOf("CHROME")==-1 && browserVersion.indexOf("SAFARI")==-1)                 bHeight=iframe.contentWindow.document.body.scrollHeight;              var dHeight=0;              if(browserVersion.indexOf("FIREFOX")!=-1)                  dHeight=iframe.contentWindow.document.documentElement.offsetHeight + 2;              else if(browserVersion.indexOf("MSIE")==-1 && browserVersion.indexOf("OPERA")==-1)                                  dHeight=iframe.contentWindow.document.documentElement.scrollHeight;              else                  bHeight=bHeight+3;              //alert("bHeight="+bHeight+"--dHeight="+dHeight+"--"+browserVersion);               var height = Math.max(bHeight, dHeight);              iframe.style.height=height+"px";          }catch (ex){}      }      window.setInterval("reinitIframe()",200);          </script>

二、清爽模式

不含評論和文字模組,但底部存在滾動公告(主要用於通知最新活動!)

Shell
1234567891011121314151617181920212223 <iframe id="rightFrame" name="rightFrame" scrolling="no" src="http://zhangge.net/bokehutui" frameborder="0" onload="this.style.height='475px'" style="padding: 0px; width: 100%;"></iframe>  <script type="text/javascript">               var browserVersion= window.navigator.userAgent.toUpperCase();       function reinitIframe(){          try{              var iframe=document.getElementById('rightFrame');              var bHeight=0;              if(browserVersion.indexOf("CHROME")==-1 && browserVersion.indexOf("SAFARI")==-1)                 bHeight=iframe.contentWindow.document.body.scrollHeight;              var dHeight=0;              if(browserVersion.indexOf("FIREFOX")!=-1)                  dHeight=iframe.contentWindow.document.documentElement.offsetHeight + 2;              else if(browserVersion.indexOf("MSIE")==-1 && browserVersion.indexOf("OPERA")==-1)                                  dHeight=iframe.contentWindow.document.documentElement.scrollHeight;              else                  bHeight=bHeight+3;              //alert("bHeight="+bHeight+"--dHeight="+dHeight+"--"+browserVersion);               var height = Math.max(bHeight, dHeight);              iframe.style.height=height+"px";          }catch (ex){}      }      window.setInterval("reinitIframe()",200);          </script>

三、使用方法