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

作者:aoao 来源:样式之美 时间:2009-01-12 18:50:00 

在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!的解决方案吧?

囧rz,被雷到的同学自觉举手,我用到这样久的Firefox 还不知道怎样设,试了半天,原来是把链接拖到工具栏的小房子上面,就可以设为首页。

还有好多浏览器,这时我们要派出终极解决方案。写帮助 -_-b ,好了,不会写的同学可以去抄一下yahoo的帮助
那除了IE怎样识别是否被设为首页呢?可以写 cookies 或者用服务器来记,而有没有必要就看具体的应用了。

其实我们不一定要一直显示设置首页,比如用document.referrer发现是从搜索或者XX过来的,也许显示成收藏会更适合,像Yahoo!的首页,看到广告的机会比看到设为首页的机率高多了,大家自己把握吧。

兼容所有浏览器收藏全攻略:

  • IE用window.external.addFavorite

  • Win的其他浏览器提示使用

  • Mac的浏览器提示使用

标签:设为首页,浏览器,兼容,首页
0
投稿

猜你喜欢

  • Go语言学习之循环语句使用详解

    2024-02-03 22:28:17
  • python列表推导式的原理及使用方法

    2022-01-23 13:47:03
  • python入门for循环嵌套理解学习

    2021-03-01 21:42:16
  • Clion ROS开发环境设置技巧

    2023-11-01 02:36:32
  • JavaScript变量声明的var、let、const详解

    2024-05-09 15:07:06
  • 使用python将最新的测试报告以附件的形式发到指定邮箱

    2022-08-24 14:59:16
  • Python基于百度AI实现OCR文字识别

    2023-09-26 22:14:29
  • Python语法垃圾回收机制原理解析

    2021-04-02 13:37:45
  • 简单介绍Python中的filter和lambda函数的使用

    2023-05-30 18:18:36
  • Vue.js 的过滤器你了解多少

    2024-04-28 09:26:37
  • asp使用ServerVariables集合

    2008-02-27 13:22:00
  • 快速了解Python相对导入

    2023-07-29 18:35:30
  • web2.0中流行的设计元素:颜色

    2007-12-10 12:16:00
  • Python里字典的基本用法(包括嵌套字典)

    2023-04-26 14:51:00
  • Python入门篇之面向对象

    2023-10-19 16:31:51
  • js实现随屏幕滚动的带缓冲效果的右下角广告代码

    2024-06-07 15:26:48
  • Python实现简单的多任务mysql转xml的方法

    2024-01-26 20:11:07
  • Python基础篇之字符串方法总结

    2022-11-25 11:42:36
  • Python实现爬取需要登录的网站完整示例

    2022-08-09 11:40:33
  • javascript实现编写网页版计算器

    2024-04-23 09:26:25
  • asp之家 网络编程 m.aspxhome.com