搂住有点极端了,呵呵。。这些问题在软件开发上面是很难避免的。同样是IE浏览器,搂住有没有是过把你的网页在苹果机上执行一边看看呢?
先不要说不同公司的浏览器吧,你试试看用IE for Windows和IE for MacOS来浏览一下你的同一个网页试试看。再举一个例子,你用Word写一篇文档(格式稍微复杂一点),然后拿到MacOS上的Word去试试看,
看看不是走样了?:D解决这些问题从目前来讲,只能依靠使用者的技巧来解决了,当然我们也希望各个厂商是用同一个标准,但是你没有想过,一旦使用了同一个标准,那么我们就会失去软件的多样性。还是好好想想怎么改进你的代码吧。:)
先不要说不同公司的浏览器吧,你试试看用IE for Windows和IE for MacOS来浏览一下你的同一个网页试试看。再举一个例子,你用Word写一篇文档(格式稍微复杂一点),然后拿到MacOS上的Word去试试看,
看看不是走样了?:D解决这些问题从目前来讲,只能依靠使用者的技巧来解决了,当然我们也希望各个厂商是用同一个标准,但是你没有想过,一旦使用了同一个标准,那么我们就会失去软件的多样性。还是好好想想怎么改进你的代码吧。:)
我们部门最近要求代码都要支持firefox网上有一篇《Javascript的IE和Firefox兼容性汇编》可以搜一下
主要是有些正则表达式,还有函数中套函数之类的写法会出错,这才头痛的。
比如gt3(get3(get4(n)))
Firefox 1 14.00% 上面的测试数据不可信,我认识的几家公司,每个公司人数都有几百人,还有我的朋友,所知道的人里,好像除我测试过Firefox,没有听说有人在用Firefox看网页,用myie到是多得很。那上面超过八分之一的人用Firefox,这些人在哪?他们是什么行业的?firefox看网页的好处在哪?八分之一的人在做一点没好处,反是操作很麻烦的事情?
Standards Information
There is no public standard that applies to this collection. document.getElementById
Standards Information
This method is defined in World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1 . 你自己去好好看看资料吧,有哪些东西W3C里没有明确标注??
W3C的标准是DOM的标准而不是 JavaScript 语言的标准,JS语言的标准你可以另外去查询其标准规范有讲正则表达式的规范吗?
至少我现在写的这些正则表达式在各种浏览器之间还没有出现过不兼容的现象有讲函数套函数是不充许用的吗?
谁说函数套函数就不允许了?那只是你不会使用罢了。有讲JScript.Encoder不能用么,
你自己都已经写出来了是 JScript 而不是 JavaScript ,而Firefox 和其它的浏览器只会支持 JavaScript 而不是IE特有的 JScript。有名命名只能用name不充许用id么?
这个在W3C里已经有明确的规定,哪里元素定义 name 无效等。
不过可以肯定的是,IE7.0 Final 版本 对标准的支持不会逊于Firefox个人观点仅供消遣!
http://www.microsoft.com/
http://www.macromedia.com/
比较一下上面几个网站界面,就知道w3c没有多少希望来改变现状!
MSIE6.X 234042 84.9%
MSIE5.X 41189 14.9%
其它 234 0%这是一个网站的统计,用的是站长发发的免费网站统计,相信别的网站比列最大,其它浏览器占有比例到5%也差不多了。而且拿你现实生活中的朋友来参考一下,这个数字。
源文件:http://127.0.0.1:83/
行:88还有color=""这样也是错的!它自己意识到这点,却还在求标准,在求标准的基础上,软件还要人性化,编程语言也是,向着人的直观思考方式去发展,而不应该向着先人定下的标准去发展。
firefox用起用还没有QQ的那个浏览器爽,很不人性化的,不相信这世界会有10%的人有着好工具不用,喜欢用不方便的工具。
如果客户真的使用Firefox出现问题,我们客气的对他说,请使用IE,而且是强烈建议升级到6.0。
但我们会在心里会想:“TMD,你去死吧,谁叫你用Firefox,方案设计书中明确写了要用IE的。”。
你做的是项目,当然可以在设计书里说明使用IE,但若你是做产品或者网站的,你也这么做?
我写的程序客户端脚本用得太多太多了,不过按现在的情况来看,不必考虑firefox,但我怕大家都这样支持,万一以后弄成必须考虑了,可就惨了,光最简论坛就有70几个js文件,而我写的房源软件有140多个js文件,给海军写的一个办公软件有120几个js文件,改起来的工作量可不小!而且如果是光修改一下语法就能搞定那无所谓,关键是万一碰到某个功能无论怎样都不可能在firefox这样的浏览器下实现,那才是惨的!
在测试的时候,我都要求最起码用IE5和Firefox1.0两种浏览器来测试,这样出来的程序就基本上没有问题了。如果是内部使用的程序,如OA之类可以直接用IE6来测试了。另,我觉得IE里javaScript解释引擎其实是JS解释引擎,而Firefox里是JavaScript解释引擎,不知道对不对。另:特别感谢meizz(梅花雪),两年前来论坛,很多时候得到meizz(梅花雪)的指点,当时的问题都很幼稚,meizz(梅花雪)总是不拒新手,耐心回答。后来差不多两年没上了。现在重返论坛,meizz(梅花雪)还是孜孜不倦地活跃在此,致敬。
讨论嘛,当然是基于自己的观点和实际情况。
你说的网站和产品,指的是大型的吗?没搞过。小站点,我是不会考虑到其它浏览器的。就这点钱,这么几个人浏览,不想费那么多劲。
但对于大型的公共站点,是非常有必要让支持尽可能多的浏览器。一分钱,一分货,如果投资方需要,肯出钱。也可以让它支持比较多的浏览器。
另外有个小问题想问一下,而且很长时间以来,都想不通的问题。你怎么有那么多的时间来CSDN。你上班不忙吗?
但IE在标准上加的一些功能,
例如showModalDialog其实也是很好的功能
不用的话,实在很可惜如果做项目的话
对客户的浏览器作一些要求,这无可厚非
也切实可行.
如果是做网站的话,
在不明显影响效率的情况下,当然是能支持的东西越多越好
就算是ie外的用户只有5%,
能多争取这些客户当然也是一件很不错的事。
http://3http.com/house/
上面是我写的房源软件,你感觉会不会要用到那么多js文件?
感觉前台的代码还有一些改进的空间:
以index.js,5list-.js为例:
(个人看法,错了勿怪)1.函数名变量名取得太简短,可读性不好,也给以后的维护者带来麻烦(相信那个网站的开者不会超过两个人,不然的话不会出现这样的情况)2.函数里的变量应该在定义前加上var,不然的话就当是全局变量,可能会多耗些资源3.有的功能太花,例如search页的的弹出框或模拟层太多,加上去会激发客户洪水猛兽样的想象力,给自己带来麻烦4.有的功能可以写成共用的,例如登录页面的必须输入,验证方式有点过于原始,跟整个网站的水平不大相当
我怕我的评论会伤了楼主的心,但我还得说,楼主,你的JS代码真的有待改进呀。
变量、函数随意写,代码毫无布局章法。没有任何浏览器兼容的想法。这是JS入门初期的代码
function $(s) {return document.getElementById(s);}
网站的基本颜色配得比较淡
看起来很舒服
不同页面的css风格比较合得来。
用户又不会去看代码
功能做到,
使用方便就是很不错的了。
并且这样说反而让人怀疑网站的安全性
很可能在从数据库里取数据显示到页面时没有经过转特殊符号,
如果真是这样的话别人可以在你的页面注入jscript
http://3http.com/ 欢迎大家交流上面的程序是一个人完成的,我自己的规则是大写D开头为全局变量,字母a,b,c,d为局部变量,不管是否声明,用完就不管的变量,经常调用的函数我都声明,否则会出错。
而a是最常用的临时变量,b和d一般为数据,c为数字形式,更多的变化为a1,a2,a3之类的变动。
用上面的规则是处理临时变量的,全局变量我都是放在开头或结果,并在变量后面加上注释,忘记了拉到最前或最后查看意思,另外我英文不好,所以取名只好是用这个办法了,如果我一开始英文好,估计不会走到这一步,但我现在英文单词认识多了,方法却还是没有变。答:search页的的弹出框或模拟层太多,但我用它来代替可修改的下拉列表,用的是同一个函数,只是变更一下参数!
function $(s) {return document.getElementById(s);}
这句我看到过,但不记得是谁写的代码了,我一开始搞不错它为何这样做,现在才明白,是个不错的方法。不过我还是打算以后尽可能用name来代替id。登录页面的验证方式有点过于原始,这个不明白你具体指的方面,我js验证了,服务器端还是再验证一次的,就算跳过js直接提交到服务器端,也是面对着一个完整的验证。用的方法都是好普通好普通的方法。不知道你说的是代码方面的,还是表现形式上?另外我那些代码格式很乱的,自从学了c#,我的新代码就都按C#的那种来写,感觉C#的语法格式很不错。就像上面的代码,我也写成如下形式,不过维护方便性这个问题,我是经了多次挫折才意识到的,一个人写的确会走很多弯路。
function $(s)
{
return document.getElementById(s)
}说实话,上面这个房源软件的程序代码已经是改进再改进的了,如果看http://3http.com/的论坛代码,我自己写的,现在我自己看都感觉头痛。但浏览器兼容的想法,这点我到现在还不认的,像用$(s)函数来兼容一下浏览器,代码可读性就会差很多,整体代码也会长很多。