iFrame的妙用

 (作者: Glen,返利网资深工程师,曾在EA等公司任职)

  最近工作有个在项目-布兜收藏夹。简言之就是将喜欢的图片收藏到布兜页面上来,这其中用到了很多关于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操作即可。

posted @ 2014-03-27 17:19  技术狂  阅读(1055)  评论(0编辑  收藏  举报