技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> 兼容所有浏览器的设为首页与显示小策略

兼容所有浏览器的设为首页与显示小策略

浏览:2948次  出处信息

在IE比较简单,大家都知道用setHomePage来设置,懒人写法:

以下是代码片段:
<a href="#setHomePage" onclick="this.style.behavior=’url(#default#homepage)’;this.setHomePage(’http://www.aoao.org.cn’);return false;">Set HomePage</a>

IE的结束了没?当然没有,其实M$还提供了一个神奇的接口给我们:isHomePage,它是用来干啥呢?它是用来检查一下IE的首页是不是你的,这样我们就可以做设为首页为后就不再显示“设为首页”的效果了。挖哈哈,这里有rank同学写的现成代码,不过我修改了两下,只是写法不同,跟悄悄的加入了广告。

以下是代码片段:
<a href="/setHomePage" id="setHomePage">设为首页</a>
<!--[if IE]>
<script type="text/javascript">
(function(){
  var el=document.getElementById(’setHomePage’),url=’http://www.aoao.org.cn/’,isHp=false;
  el.style.behavior=’url(#default#homepage)’;
  function check(){
    try{
      isHp=el.isHomePage(url);
    }catch(exia){}
    if(isHp){
      //el.style.visibility=’hidden’
      /*AD*/el.innerHTML="《Web标准设计》雷人进行时";
      el.href="http://www.baidu.com/";/**/
      el=null;url=null;isHp=null;check=null;
    }else{
      el.onclick=function(){
        try{
          this.setHomePage(url);
          check();
          return false;
        }catch(exia){return true}
      }
    }
  }
  check();
})();
</script>
<![endif]-->
在inline的情况下,条件注释还是比较帅滴,可能你会问,为什么不把a也放在脚本里输出呢? 其实,我们也可以解决其他浏览器的问题。

Firefox可没有现成的接口可以实现哦,但是,牛人们还是找出来解决方案,看一下Yahoo!的解决方案吧?

make y! home page@firefox

建议继续学习:

  1. 12款很棒的浏览器兼容性测试工具推荐    (阅读:4844)
  2. Javascript和CSS浏览器兼容总结    (阅读:3907)
  3. 如何更改字段至兼容的不同类型    (阅读:3070)
  4. 前端设计中的浏览器CSS Hack汇总    (阅读:2772)
  5. 定位元素间的Z值比较及z-index在不同浏览器下默认值的影响    (阅读:2661)
  6. 抛弃 CSS Hacks 后的浏览器兼容方案    (阅读:1958)
  7. 手机客户端首页设计    (阅读:2009)
  8. 抛弃 CSS Hacks 后的浏览器兼容方案    (阅读:1680)
  9. 让数据解析能够做到向前向后完全兼容(最近做项目总结)    (阅读:1586)
  10. 工具型网站首页的设计思考    (阅读:1674)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1