10
09/2014
uc 浏览器
默认(没有设置任何 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已经比以前好很多了,但和国内那些垃圾浏览器一样。内核做不了,都在壳子上大做文章。正如发动机都做不好的国产汽车、飞机,浅薄的花样倒是不少。