热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于对crossbrowser支持的一些看法

做dhtml开发,除了调试不是十分的方便外,我们还需要或多或少的考虑同一浏览器的版本问题。而比这些问题更让复杂dhtml开发郁闷的,却是对

    做dhtml开发,除了调试不是十分的方便外,我们还需要或多或少的考虑同一浏览器的版本问题。而比这些问题更让复杂dhtml开发郁闷的,却是对cross-browser浏览的支持。正好有人问到这个问题,我就简单的说说我的看法。

    目前我是专做IE上的dhtml开发,所以我blog里的脚本开发分类都叫做"JScript&DHTML",而不是叫做"Javascript&DHTML",也就是说我默认提供的事例讲解和代码示例都以JScript为准,因为我现在的工作也没有时间和必要让我去别的浏览器上验证我所发的脚本。如果有写Javascript的地方,那就是我确认那部分内容JScript和Javascript是兼容的。

    关于cross-browser其实细说起来分为两类。第一类是狭义的cross-browser,就是说浏览器的内核版本之间的脚本代码及DOM版本实现上的兼容性支持(这里包括同内核浏览器比如:MyIE现在叫Maxthon遨游,昵称:马桶、Sleipnir、GreenBrowser简称GB、GoSuRFkkman等的内核版本);第二类是广义的cross-brower,指的是浏览器内核不同实现间的脚本代码及DOM兼容性支持。前者的代表就是我们常说的IE5、IE5.5及IE6.0甚至IE6.0sp1这样的浏览器之间的差别,后者就是诸如:IE、OperaMozillaFirefoxNetscapeKonquerorSafariiCab等。

    我们接触到的狭义cross-browser支持,大多是在IE上开发dhtml功能,由于IE从4.0到6.0sp1之间对JScript引擎和DOM实现做了较大的修正和改进(有的是实现了更高的w3c标准版本)。当然别的浏览器也同样有这样的问题,比如Netscape从2.0b3到4.0版本,经历了将Javascript引入浏览器并达到一个可用水平的变化。这样的cross-browser更象是做软件的向后兼容,但是这样的问题一般不会太麻烦,毕竟要求用户升级同一种软件,而不是完全更换是比较容易让人接受的。另外同一浏览器的升级毕竟还是在其原有的设计框架上,而不会带来整个结构翻天覆地的变化。不会像今天的IE和ff,它们在Script和DOM处理上的不同,真是让人巨郁闷,以后我会再讨论。

    那么广义的cross-browser我又把它分为以下几种情况,一是Portal类的网站(包括各种门户以及各类机关、公司、组织等的官方信息发布的网站),二是普通网站(包括论坛、个人网站、blog,以及一些不十分正式和重要的信息发布网站),三是专用网站(包括各种部门级信息网站、企业ERP网站、OA系统等专有系统网站)。

    从上面的简单分类就能看出,cross-browser支持任务最严峻的就是第一类Portal网站了,而且这类网站还没有办法逃避。当然是不是只要是这类网站就一定要支持cross-browser呢?其实这个完全是和建网站的人对网站的期望有关系的,就是说你希望你的网站能给带来什么CI来决定的。比如Google,它的Gmail的Web浏览方式被很多人认同,可是那个Pretty的Web Mail是一个非常复杂的dhtml开发工程。反过来,如果Gmail不能支持cross-browser,那么Google是不是给人感觉很矬呢emsmileo.gif?另一个相反的情况是,很多的xxx.gov.cn网站,根据其重要性来看它们完全因该属于第一类,可是它们很多却没有很好的支持cross-browser。这就是他们对网站的期望不高,没有觉得网站能给他们带来什么好处,而只是为建网站而建网站。同时,没有任何人能说由于某xxx.gov.cn做的象一坨屎,就要他们领导下课。

    第二类普通网站,对于cross-browser来说其实是可支持也可不支持的。当然都能支持是最好的了,可是那需要成本的啊。不是大声说:支持!支持!!支持!!!,就自己支持了。这里面的论坛类网站,为了自己能有更多的潜在用户访问或注册,是会积极主动的支持cross-browser。当然这里的论坛也分很多种类型,如果是专注于Windows平台技术开发,我觉得对cross-browser做有限的支持也就足够了。至于其它的小站点,除非是为了展示dhtml技术和Javascript特效,否这也应该做有限的cross-browser支持,当然程度可以更低一些。

    第三类专用网站,这个需要根据其复杂度来区分,如果dhtml技术仅限于表单校验和一些简单的网页特效,这样的系统是应该支持cross-browser的。如果系统中有很复杂的dhtml开发,比如像Gmail,就需要仔细考虑是否支持cross-browser了。对于企业部署,其实用户习惯是可以教育的,就是要求使用IE6,甚至更过分就要求IE6sp1,很多时候都是不难办到的。对于这样的系统,如果dhtml难度还很大,而且完全不能说服用户,他就是要IE,并且至少firefox是要支持的。那么怎么办呢?那就申请更多的resource,支持就是了emembarrassed.gif

    最后说漏了一点,关于Web控件的开发,由于作者的期望是自己的控件被广泛的使用,所以它支持cross-browser的出发点,和前面说的论坛类网站的出发点其实是相似的。有空了再讨论一下不同复杂度的dhtml开发时cross-browser支持解决方案。


转:https://www.cnblogs.com/birdshome/archive/2005/05/29/164667.html



推荐阅读
  • pyecharts 介绍
    一、pyecharts介绍ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • 1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • 抽空写了一个ICON图标的转换程序
    抽空写了一个ICON图标的转换程序,支持png\jpe\bmp格式到ico的转换。具体的程序就在下面,如果看的人多,过两天再把思路写一下。 ... [详细]
  • 文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息Cookie状态管理HTTP请求方式简介HTTP协议(超文本传输协议)是用于从WWW服务 ... [详细]
  • 这个问题发生在重新安装系统后,丢失了之前的privatekey等。所以解决方法就是提示的revokeandrequest。到developercenter中找到certificat ... [详细]
  • 最近在学Python,看了不少资料、视频,对爬虫比较感兴趣,爬过了网页文字、图片、视频。文字就不说了直接从网页上去根据标签分离出来就好了。图片和视频则需要在获取到相应的链接之后取做下载。以下是图片和视 ... [详细]
  • 一、Notification通知是属于桌面性质的通知,在显示器的右下角蹦出二、兼容性IE14以及其他桌面浏览器都支持WebNotification,目前 ... [详细]
  • 前端提高篇(七十):SVG基本使用、基本样式、路径path
    SVG是使用XML来描述二维图形和绘图程序的语言。SVG遵循的是xml的规范,与html5的使用有所区别SVG绘制出来的是矢量图,放大之后不会失真官方文 ... [详细]
author-avatar
王先生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有