本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码、为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数escape / unescape,encodeURI / decodeURI和 encodeURIComponent / decodeURIComponent。
预备知识
foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/ \________/\_________/ \__/
| | | | |
scheme authority path query fragment
这个是一个很流行的清除浮动的方法,在很多大项目上已经被完全采用。
这个方法来源于positioniseverything ,通过after伪类:after和IEhack来实现,完全兼容当前主流浏览器。
今天编码一个功能,发现复选框在firefox浏览器下有个诡异的现象:当鼠标划过复选框时,复选框的边框变黑。。。
诡异效果图如下:
Highcharts是一个制作图表的纯JavaScript类库,主要特性如下:
兼容性:兼容当今所有的浏览器,包括iPhone、IE(IE6,IE7,IE8等)和火狐等等;
对个人用户完全免费;
纯JS,无BS;
支持大部分的图表类型:直线图,曲线图、区域图、区域曲线图、柱状图、饼装图、散布图;
跨语言:不管是PHP、Asp.net还是Java都可以使用,它只需要三个文件:一个是Highcharts的核心文件highcharts.js,还有a canvas emulator for IE和Jquery类库或者MooTools类库;
最后经验补充:
1.鼠标经过的“未访问链接”同时拥有a:link、a:hover两种属性,后面的属性会覆盖前面的属性定义;
2.鼠标经过的“已访问链接”同时拥有a:visited、a:hover两种属性,后面的属性会覆盖前面的属性定义;
所以说,a:hover定义一定要放在a:link、a:visited的后面,,,
2. 属性的书写顺序:
2.1. 按照元素模型由外及内,由整体到细节书写,大致分为五组:
位置:position,left,right,float
盒模型属性:display,margin,padding,width,height
边框与背景:border,background
段落与文本:line-height,text-indent,font,color,text-decoration,...
其他属性:overflow,cursor,visibility,...
2.2. 针对特殊浏览器的属性,应写在标准属性之前,例如:-webkit-box-shadow:; -moz-box-shadow:; box-shaow:;
hidefocus即隐藏聚焦,具有使对象聚焦失效的功能,其功能相当于:
onFocus="this.blur()"
什么是面向对象?
面向对象编程主要通过代码代表现实世界中的实质对象。要创建对象,首先需要写一个“类”来定义。 类 几乎可以代表所有的东西:账户,员工,导航菜单,汽车,植物,广告,饮料,等等。而每次要创建对象的时候,就从类实例化一个对象。换句话说,就是创建类的 实例做为对象。事实上,通常处理一个以上的同类事物时就会使用到对象。
IE8及以后的IE9/IE10浏览器,为了实现IE兼容基于其它网页标准开发的网站,IE浏览器还专门提供了“兼容性视图”功能。当IE浏览器检测到某网站不兼容时,地址栏右侧就会出现兼容性视图按钮,出现问题只需轻轻一点,大部分网页显示就会正常了。