不就做个Web应用吗,有什么难的,可是碰上了多种浏览器,问题就来了,一般都是首先满足IE的,因为大多数客户使用的是IE,不过现在用FF的人也越来越多了,所以考虑让FF能有和IE一样的显示效果也是很重要的。
这次我从开发之初就定下目标一定要让自己的程序在两种浏览器里都能正常运行。就是这么个目标给我带来了不少麻烦,好在有框架帮忙,不过问题还是有不少滴。。。
举几个例子:
js里用const定义个常量,IE不认const这个关键字,写了准错,所以常量还是自己控制吧,名字用大写,程序里别去动就是了。
要让层有透明的效果,这肯定是用css的,不过IE中是filter:alpha(opacity=30);FF里是-moz-opacity:0.3;opacity:0.3;,幸好这两个东西写一起不冲突。
JS处理事件使用event的,可是怎么获得这个event呢?IE里直接window.event,可是FF不行,它的事件只能在发生事件的现场使用,所以还是老实点用方法形参的方式吧function method(event){}。
想拿到事件的坐标也不是件容易事,event.x和event.y可不通用,好在prototype.js里有提供方法Event.pointerX(event),所以如果可以的话还是用点框架吧。
最让我郁闷的就是用了Dojo的控件,IE和FF的效果也差太大了,如果IE里好看点FF里难看点到也算了,可是情况正好相反,0.9的效果比0.4的好多了,可是它就不会把css定定好吗。。。
这次我从开发之初就定下目标一定要让自己的程序在两种浏览器里都能正常运行。就是这么个目标给我带来了不少麻烦,好在有框架帮忙,不过问题还是有不少滴。。。
举几个例子:
js里用const定义个常量,IE不认const这个关键字,写了准错,所以常量还是自己控制吧,名字用大写,程序里别去动就是了。
要让层有透明的效果,这肯定是用css的,不过IE中是filter:alpha(opacity=30);FF里是-moz-opacity:0.3;opacity:0.3;,幸好这两个东西写一起不冲突。
JS处理事件使用event的,可是怎么获得这个event呢?IE里直接window.event,可是FF不行,它的事件只能在发生事件的现场使用,所以还是老实点用方法形参的方式吧function method(event){}。
想拿到事件的坐标也不是件容易事,event.x和event.y可不通用,好在prototype.js里有提供方法Event.pointerX(event),所以如果可以的话还是用点框架吧。
最让我郁闷的就是用了Dojo的控件,IE和FF的效果也差太大了,如果IE里好看点FF里难看点到也算了,可是情况正好相反,0.9的效果比0.4的好多了,可是它就不会把css定定好吗。。。