富文本兼容性问题归纳(win)
上周抽空把去年写的富文本重写了一下,封装成基本UI组件,就可以在聊天框之外的地方复用了。个人觉得富文本是个兼容问题最多的模块之一,尤其是文档也没几个,把mozilla的api文档和IE的dom api关于selection和range的看了一个遍,一个个试,总算找到勉强能用的方法。
其实之前的富文本代码太乱,而且还有不少bug,只是产品经理不给时间改,O__O"…
这个富文本没有用iframe来做输入框,原因有二:
iframe是所有dom节点中消耗性能最大的,开多几个ie6/7就会卡到不行了;
因为webqq是多窗口聊天的,当光标点击到输入框时,ifram......
判断A节点是否包含B节点
发现实际项目中经常需要判断一个节点是否是另一个节点的子节点,google了一下以及在做富文本的时候顺便看了下mozilla的api文档,发现个compareDocumentPosition方法,可用来比较两个节点位置。ie则有更好用的方法contains,只要传入的节点是其子孙节点就返回true。 more
compareDocumentPosition的返回值的说明如下(来自杂之学):
/*
* compareDocumentPosition: 属于 DOM Level 3 Core
* referrer: http://www.w3.org/TR/DOM-Level-3-Cor......
动态获取图片宽高
由于网站服务器在国外,国内访问有点慢
加上家里这烂鬼长城宽带,打开页面时如果有图片,加载时间相当久
于是决定改为先拉小图片,点击之后再异步拉取大图
原理是点击小图的时候创建一个img标签,设置onload事件,
在大图加载成功时显示大图more
但是这里面的img标签不能用document.crearteElement('img')的形式创建
这样创建的image在onload完成时,读取到的width/height是0
如果用 new Image()的方式就可以读取宽高,郁闷的image
关键代码如下:
va......
svn服务器端和客户端的安装
svn有什么用我就不说了
安装svn服务很简单,基本上都是绿色免安装的,我用的svn服务器端我也忘记在哪下的,不过重装系统后重新注册一下服务就可以用了。
方法如下: 先点击这里或到官方网站选一个svn的服务器程序下载,解压到一个文件夹
and then找个用来放svn数据库的文件夹,打开cmd,输入
D:\svn-win32-1.5.6\bin\svnadmin create E:\MySvnData
创建svn数据库所需要的文件,之后输入
sc create subversion_service binPath= "D:\svn-win32-1.5......
http与https协议的跨域的解决方案
最近在做一个功能,把gmail嵌入自己的网站,本来也不是什么大问题,但是老大要求使用https协议来保证账户和密码的安全
好不容易等到安全证书审批下来,后台的搭了一个tomcat服务器,打开https就准备开工了,结果遇上该死的跨域问题
本来跨域也不难解决,不论是子域跨域(one.aaa.com 到 two.aaa.com的跨域) 或者网站跨域(www.aaa.com到www.bbb.com)都可以用jsonp或者iframe解决
令人奔溃的的是浏览器对于域名一样,协议或端口不同的网站都认为是跨域
jsonp只能使用get的方式,要保证安全,只能用post方式
......
【魅力CSS】使用CSS3的Linear Gradients (线性渐变)制作渐变背景按钮
该方法用到主要特性是 gradient
gradient只有ff和webkit内核的浏览器有支持,不过目前都还是私有的,不知道何时才能标准化
在ff和webkit的调用方式都还不一样,具体可以看这里和这里,说明的很清楚了
ie可以用滤镜达到效果,一如既往的无视它
来看看效果先:
more
用到的主要代码如下:
完整的demo请点击这里
【魅力CSS】用CSS3的transform垂直排列日期
废话少说,先上图:
当然了,transform属性目前的ie不支持,但那不关我事。
传说也可以用滤镜解决,具体办法到google搜"css 垂直排列日期"就有了。more
rotate是一个使目标旋转的属性,属性值从-180到180都行,可以认为是试一个点绕着圆心转,不过转360也没意义。
目前支持的浏览器有Ff、webkit内核、以及opera
原理很简单,将日期按照"月/日/年"的顺序上下排列,然后旋转年份-90度,再通过translate属性进行位移定位
主要代码如下,demo请点击这里:
博客改版与CSS3主题
工作了一段时间了,总算有点私人时间玩玩博客
近期开始用css3对博客进行改版和优化博客文章
ie? I don't care that bitch
php不熟,先把大体搞好,其他的就慢慢来了
因为经常受到垃圾评论的骚扰,暂时不开发评论功能
iframe的可编辑状态消失的问题
在ie下同一页面有多个可编辑的iframe
把其中任何一个从Dom树移除的话
会导致其他iframe的可编辑状态消失
只要对剩下的iframe中的任一个的document.body调用一下focus即可解决
【魅力CSS】纯CSS多级菜单
下午在看《ajax权威指南》,看了多级菜单部分,想了想,觉得可以用纯CSS做一个。
用了CSS2的子对象选择符“>”和伪类“hover”,可以IE6不支持子对象选择符,除A之外的标签页不支持hover,所以无视IE6,咱们做web前端的已经被IE6害的够惨的了。
兜远了……直接上图,想要多少级就多少级。
more
demo请点击这里 , CSS代码如下: