最近工作有個在項目-布兜收藏夾。簡言之就是將喜歡的圖片收藏到布兜頁面上來,這其中用到了很多關於iframe的方面,總結如下:
1. 作為彈出層鋪底覆蓋
大家如果做過那種黑色遮罩蓋住整張頁面,而碰巧用戶用的是IE6,更碰巧的是頁面上有select元素,那就有得頭疼了(原理就不在這裡贅述了)。我們會發現彈出的DIV沒法遮住select, 輪到我們的iframe出場了。邏輯如下:
與彈出div同級放入iframe
保證iframe的 z-index小於彈層div z-index
增加window resize和scroll事件, 保證iframe能蓋住整張頁面
部分代碼
復制代碼代碼如下:
var iframe = U.isie6() ? '<iframe style="position:absolute;left:0;top:0;z-index:2000000;filter:Alpha(opacity=0); width:100%;height:' + ds.height + '" frameborder="0"></iframe>' : '';
$container.append(iframe).appendTo($body);
2. 跨域寫入cookie
有 a.com和b.com兩個domain。在某些條件下b的部分功能會出現在a頁面上。 有時需要操作a頁面的時候對b.com domain的cookie做一些操作以方便用戶下次訪問。我們只需要在a頁面加入一個iframe(動態或固定)即可,src屬性指向b的一張代理頁 面,在這張頁面執行cookie操作即可。