首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > 网页制作 > 建立各种版本兼容网页
【标  题】:建立各种版本兼容网页
【关键字】:javascript,版本,兼容
【来  源】:未知

建立各种版本兼容网页

建立各种版本兼容网页    随着 NetscapeNavigator4.0 和 MicrosoftInternetExplorer4.0 版的发布,Web网页开发者们正经历一些有趣的挑战:怎样在两种崭新的浏览器中开发动态的 HTML 网页,并且这些网页仍能被旧版本的浏览器识别?网页开发者们或许可以认为强迫访问者访问他们的网页时必须使用最新版本的浏览器,但是这种途径无疑会限制网页的访问者的数量。我们看到大多数网点正想方设法在避免这一情况的发生。为某一网点限制那些仅仅适应一个浏览器所能浏览的网页的方法也是不可行的。   本文描述两种方法设法缩小网页在浏览器版本显示上的差别。   一、重定位浏览器载入网页   有很多的方法可以实现,一个策略是为不同浏览器和不同版本建立相应的Web页,然后由CGI程序装载适当的在某个浏览器版本上工作得较好的网页。这种方法比较可行。如果你在script语言支持的浏览器上预先查看自己开发的网页,将会得到理想的效果。当浏览器装入Web页时激活onLoad事件,重定位网页。激活的onLoad事件用< BODY >标记,使用代码:   < BODYonLoad="change—document()" >appVersion和appName可以发现   是哪个浏览器版本在存取本页,重定位相应内容的URL(统一资源地址): < SCRIPTLanguage="JavaScript" > functionchange—document(){ varMS=navigator.appVersion.indexOf("MSIE") varMSVER=parseInt(navigator.appVersion.substring (MS+5,MS+6)) varNSVER=parseInt(navigator.appVersion.substring (0,1)) varlocstring if(MS >0) locstring="diffie"+MSVER+".html" elseif(navigator.appName=="Netscape") locstring="diffns"+NSVER+".html" window.location=locstring ) //-- > < /SCRIPT >   虽然不同类型浏览器处理网页的差别在缩小,但如果你想要同时使用 NetscapeNavigator2.x、3.x、4.x和 InternetExplorer3.x 及 4.x 中不同浏览器之间的某些新技术,这就需要在你的节点为每一内容网页建立五个页面以对应相应浏览器,才能取得最佳显示效果!幸运的是,你可以在你的节点中有选择地使用一些新技术,这种想法比较简单省事。例如你想有一个产品交互介绍页,现在因为每种浏览器都已实现动态HTML技术,只需使用每种浏览器兼容的动态HTML技术,而给访问者自由使用浏览器版本的权限。 二、在网页中检测浏览器/版本   保证script能在适当浏览器/版本执行。我们用以下例子来说明如何为不 同版本之间的浏览器改变网页背景颜色。这种方法在 Netscape2.x 中可以实现得很好;对于InternetExplorer3.x,CSS1风格将重新定义< H1 >标记 的外观;对于Netscape3.x,当文件首先打开时图象会作相应的改变;对于IE4.0,图象也将改变,为< H1 >的风格定义标记也将变化(字体大小和 颜色);最后,对于Netscape4.0,< H1 >标记将改变,但是这次使用的是 动态的风格页(DSS)技术,意味着那JavaScript描述语言能适用在JavaScript风格页(JSS)元素中。现在Web网页常使用一些风格页来预先定义,JavaScript风格页和标准的CSS1(Cascading风格页)如下定义: < STYLETYPE="text/JavaScript" > classes.class1.H1.fontSize="24pt"; classes.class1.H1.color="green"; classes.class2.H1.fontSize="18pt"; classes.class2.H1.color="red"; < /STYLE > < STYLETYPE="text/css" > H1.newstyle{font-size:18pt;color:red) margin-top:-.05in;margin-left:1.0in) H1{font:24pt;color:green) < /STYLE >   这些风格页预先定义提供新格式为< H1 >标记,全局变量定义存取当前页的浏览器类型和版本。在本文中我们使用JavaScript来定义。一旦定义后,JavaScript可在任何地方使用。 < SCRIPTLanguage=JavaScript > < !-- varMS=navigator.appVersion.indexOf("MSIE") window.isIE4=(MS >0)& & ((parseInt(navigator.appVersion.substring(MS+5,MS+6)) >=4)& & (navigator.appVersion.indexOf("MSIE")) >0) varNSVER=parseInt(navigator.appVersion.substring(0,1)) isNS4=false isNS3=false if(navigator.appName=="Netscape"){ if(NSVER==3){isNS3=true) elseif(NSVER >=4){ isNS3=true isNS4=true) )   change—doc函数允许所有版本的浏览器在存取网页时改变网页的背景颜色。另外,如果浏览器是Netscape3.x或4.x,它调用另外的JavaScript 函数change—document3。 functionchange—document(){ document.bgColor="beige" if(isNS3)change—document3())   JavaScript函数change—new仅能由IE4.0调用。这个函数将使用 Microsoft 动态的HTML技术:定义有"myheader"标志的新的风格< H1 >标记, functionchange—new(){ varchgh1=document.all.myheader chgh1.className="newstyle") //-- > < /SCRIPT >   在JavaScript的不同版本中,以上描述语言可作为其它的函数被使用。首先,使用JavaScript1.1,我们在显示网页时用change—document3函数改变图象。最后测试isNS3的值,如果为真,调用change—document4。当浏览器为Netscape3.x或Netscape4.x,isNS3全局变量被设置为真。 < SCRIPTLanguage="JavaScript1.1" > < !-- functionchange—document3(){ if(!isNS4)document.thisimage.src="sun.gif" elsechange—document4()) //-- > < /SCRIPT >   使用JavaScript1.1标志意味着任何script块内的程序仅能由支持script语言的浏览器来执行。这在Netscape3.x和4.x、IE3.0x和4.x中,处理都是一样的。change—document4函数,是由Javascript1.2建立的程序语言块。现在这种功能仅能在Navigator4.x使用。script使用< LAYER >标记封装最初的内容页,当函数被调用时,内容是隐藏的,新的内容由一个新的LAYER对象来创建: < SCRIPTLanguage="Javascript1.2" > < !-- functionchange—document4(){ document.layers[0].visibility="hide" newlayer=newLayer(600) newlayer.visibility="inherit" newlayer.document.write("< imgsrc=′sun.gif′width=76height=76alt=′sun′ >") newlayer.document.write("< H1class=class2 >Headerforthisexamplepage< /H1 >") newlayer.document.close() ) //-- > < /SCRIPT >   < HEAD >节,在< BODY >标记,我们激活onLoad事件。这个事件将核对浏览器版本,如果浏览器为InternetExplorer4.0,则调用change—new,change—document和change—document3函数。当检测到另外的浏览器时,则调用change-document函数。另外,我们建立图象定义和< H1 >内容: < BODY onLoad ='if(window.isIE4){change-new}();change-document();change-document3();} else change-document();' > < LAYER > < img src='rain.gif'width=76height=76 alt='rain' name='this image' > < H1 id =myheader >Header for this example page< /H1 >' < /LAYER >   这个方法仅仅执行适当的 script 语句就能检测到浏览器的类型和版本,一些常用功能在不同的 javascript 版本且 Navgatror 的不同版本都可以使用,与编码事件有关的功能仅在特定的版本被实现。因此可以在一页中为 Navigator3.x 建立一个新的Image对象;为 Navigator4.x 用LAUER 标记并封装代码。使用 script 特定标志来保证相应浏览器去处理相应得 javascript 代码。例如,我们可使用称为 change-document 的函数、Navigator2.x 的 IE3.x 将存取并且执行发现在“javaScript”块的;描述语言。而 Navigator3.x 将直接运行“javaScript1.1” 标记节的描述语言。   nt的函数、Navigator2.x的 IE 3.x 将存取并且执行发现在“javaScript”块的;描述语言。而 Navigator3.x 将直接运行“javaScript1.1” 标记节的描述语言。3.x将存取并且执行发现在“javaScript”块的;描述语言。而 Navigator3.x 将直接运行“javaScript1.1” 标记节的描述语言。
IE地址栏前面换为自己的图标:【上一篇】
使用xmlhttp为网站增加股市行情查询功能:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • ERP中的管理思想系列谈之三:说说物料编码
  • VC++ 中的自定义消息
  • 网络故障处理手册-流程清晰
  • 关于搜索引擎页面分析中的 javascript 处理的2个思路
  • Php 生成静态html文件
  • UltraEdit的一个Bug
  • RHEL AS 4系统应用之一:桌面篇
  • MAYA 的基本指令操作
  • 编写"纯HTML"jsp应用学会使用JSTL
  • .net下paypal的电子支付方式编程(1)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.