给embr添加IE9所支持的新特性

6 条评论

之前的之前,在 IE9 Beta 版本刚发布的时候,就给自己的博客添加上了部分 IE9 所支持的新特性(WordPress 添加 IE9 的 Site Pinning 特性),下午又尝试给所使用的 embr 加上了 IE9 固定网站后,静态任务列表、覆盖图标提示未读消息数、回复和私信闪烁任务栏图标提醒、任务栏缩略图快捷控制页面按钮等功能。由于部分是直接修改的源代码,所以为下次升级准备做个笔记。

在 header.php 开始部分添加静态的 meta 标记,以给固定到任务栏的时候添加任务列表

  1. <meta name="application-name" content="Embr: 苏笙 " />
  2. <meta name="msapplication-tooltip" content="苏笙,搭建在九尾狐的embr" />
  3. <meta name="msapplication-starturl" content="http://su.jiuweihu.us/" />
  4. <meta name="msapplication-task" content="name=Home; action-uri=http://su.jiuweihu.us/all.php; icon-uri=img/ie/favicon.ico" />
  5. <meta name="msapplication-task" content="name=Messages; action-uri=http://su.jiuweihu.us/message.php; icon-uri=img/ie/dm.ico" />
  6. <meta name="msapplication-task" content="name=Mentions ; action-uri=http://su.jiuweihu.us/replies.php; icon-uri=img/ie/mentions.ico" />
  7. <meta name="msapplication-task" content="name=Favorites; action-uri=http://su.jiuweihu.us/favor.php; icon-uri=img/ie/fav.ico" />
  8. <meta name="msapplication-task" content="name=Search; action-uri=http://su.jiuweihu.us/search.php; icon-uri=img/ie/search.ico" />
  9. <link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon" />

最后将设置图标那行一并改掉,可能兼容性好些吧- -

在 js/home.js 中搜索 title 关键词,搜索结果会有两处,第一处是清除 title 中提示消息数的,跟在后面添加

  1. try {
  2.      if (window.external.msIsSiteMode()) {
  3.          window.external.msSiteModeClearIconOverlay();
  4.      }
  5. }
  6. catch (e) {
  7. }

在第二处设置 title 中显示消息数后添加

  1. try {
  2.      if (window.external.msIsSiteMode()) {
  3.          var len = $(msg).length - 1;
  4.          var num_len = num+len;
  5.          if (num_len > 9){
  6.             num_len = "11";
  7.          }
  8.          window.external.msSiteModeSetIconOverlay("http://su.jiuweihu.us/img/ie/"+num_len+".ico", "收到 "+(num+len)+" 条新的消息");
  9.     }
  10. }
  11. catch (e) {
  12. }

类似地在 js/all.js 中添加,第一处是一样的清除覆盖图标,第二处为

  1. try {
  2.      if (window.external.msIsSiteMode()) {
  3.         var num_len = num+len;
  4.         if (num_len > 9){
  5.            num_len = "11";
  6.         }
  7.         window.external.msSiteModeSetIconOverlay("http://su.jiuweihu.us/img/ie/"+num_len+".ico", "收到 "+(num+len)+" 条新的消息");
  8.        if (type != "timeline"){
  9.           window.external.msSiteModeActivate();
  10.        }
  11.     }
  12. }
  13. catch (e) {
  14. }

因为在 all.php 页面下还检测 回复 和私信消息,这里要设置图标闪烁提醒。

ie9-new-feature-for-embr-2

再给任务栏缩略图添加控制按钮,直接在 inc/footer.php 最后 </body> 之前添加

  1. <?php
  2.     if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE" )){
  3.     echo "<script type=\"text/javascript\" src=\"http://images.isouth.org/qi/app.js\"></script>";
  4.     }
  5. ?>

再来个截图,通过点击缩略图下的快捷控制按钮可以快速地切换功能。

ie9-new-feature-for-embr-2

相关日志 Relate Posts

“给embr添加IE9所支持的新特性”6条留言

  1. 这技巧太好啦,不过有没有WP的方法啊

    • @软件盒子 都可以啊,只是看添加什么内容叻,哦也

  2. 嗯,上WIN7了,放心吧~

  3. 高端了

    • @nic 难得有时间费在这个上面…

  4. :shock: 用IE的人确实多,但多都多在IE6上咯。。。IE9用的人就更少了。。。折腾这么久。。。辛苦了咯··· :neutral: :neutral:

发表留言(Ctrl+Enter提交)