var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; var sUserAgent = navigator.userAgent; return { trident: u.indexOf(‘Trident‘) > -1, presto: u.indexOf(‘Presto‘) > -1, isChrome: u.indexOf("chrome") > -1, isSafari: !u.indexOf("chrome") > -1 && (/webkit|khtml/).test(u), isSafari3: !u.indexOf("chrome") > -1 && (/webkit|khtml/).test(u) && u.indexOf(‘webkit/5‘) != -1, webKit: u.indexOf(‘AppleWebKit‘) > -1, gecko: u.indexOf(‘Gecko‘) > -1 && u.indexOf(‘KHTML‘) == -1, mobile: !!u.match(/AppleWebKit.*Mobile.*/), ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), android: u.indexOf(‘Android‘) > -1 || u.indexOf(‘Linux‘) > -1, iPhone: u.indexOf(‘iPhone‘) > -1, iPad: u.indexOf(‘iPad‘) > -1, iWinPhone: u.indexOf(‘Windows Phone‘) > -1 }; }()}if(browser.versions.mobile || browser.versions.iWinPhone){ window.location = "http:/www.baidu.com/m/";}function isWeiXin(){ var ua = window.navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i) == ‘micromessenger‘){ return true; }else{ return false; } }判断浏览器的简单有效方法
命名有两个目标:
清晰:你要知道该命名与什么有关。
精确:你要知道该命名与什么无关。
当一个命名完成上面两个目标之后,其余的字符就是多余的了。下面是我在开发时的一些命名原则:
HTML 作为描述网页结构的超文本标记语言,在百度一直有着广泛的应用。本文档的目标是使 HTML 代码风格保持一致,容易被理解和被维护。
4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符。class 必须单词全字母小写,单词间以 - 分隔。class 必须代表相应模块或部件的内容或功能,不得以样式信息进行命名。id 必须保证页面唯一。解释:
同一个页面中,不同的元素包含相同的 id,不符合 id 的属性含义。并且使用 document.getElementById 时可能导致难以追查的问题。
原文:https://www.cnblogs.com/chengguorui/p/11641004.html