10 09/2014

uc 浏览器

最后更新: Wed Sep 10 2014 12:39:11 GMT+0800

默认(没有设置任何 a 样式)情况下,uc(active) 是淡蓝色背景。实际上用的是

a:hover {} /*按下去(tap)的样式*/ 

为什么不是 focus,active 呢?

但 bootstrap 的 a {background:transparent;} 会导致没有背景色!即便设置了 a:focus,a:active。必须将 background 设置颜色。(且本页嵌入style,外连css、甚至js都不予处理,诡异)

<style>
a {background: #fff;color:green;}
a:hover {background: #c00;color:#fff;}
</style>

用 jquery

$('a').on('mousedown',function(){
  obj=$(this);
  $(this).css({background:'red',color:'#fff'});
})

其它浏览器可以,uc 还是不行。但也可以理解,因为页面要走,js 被打断也无可厚非。

最终解决办法

在 html 页面中直接(外部js不行),如果uc浏览器,加入一些 css。(会导致一些新的问题,鱼与熊掌不能兼得,哎。。。)

if(navigator.userAgent.toLowerCase().indexOf('ucbrowser')!=-1){
  //uc 浏览器必须在本页 css才行!
  var css = document.createElement('style');
  css.type = 'text/css';
  var styles = 'a {background:#fff;}a:hover {background: #c00;color:#fff;}a.more {background:transparent;}';
  if (css.styleSheet) css.styleSheet.cssText = styles;
  else css.appendChild(document.createTextNode(styles));
  document.getElementsByTagName("head")[0].appendChild(css);
}
  • 我看到的 uc(2014-03-01) 的 userAgent 是: applewebkit 533.1 safari/533.1
  • mac lion 的 fafari 是: AppleWebKit/536.29.13

uc 算不算 好 浏览器

  • 抄袭。赤裸裸地 copy 当年的 opera mini,还没人家做的好。反正当年 opera mini 就在国内被封(包括现在 opera mobile)。
  • 流氓推广。曾经国内合约、山寨机上默认都预装。
  • 早几年甚至连“浏览器”都不算,不支持任何 css,js 等。现在是 webkit 了。

维基百科对 UC_Browser 的介绍来看,比较客观。

原理:各地云服务器做 proxy,压缩,二次传输到客户端。

但在 stackover 搜索 uc 的话题,基本0,甚至还有负数!

  • uc 似乎加载外部 css,js 有问题!
  • uc 支持 @media。

当然,现在的uc已经比以前好很多了,但和国内那些垃圾浏览器一样。内核做不了,都在壳子上大做文章。正如发动机都做不好的国产汽车、飞机,浅薄的花样倒是不少。