欢迎来到天天文库
浏览记录
ID:22375859
大小:60.50 KB
页数:7页
时间:2018-10-28
《html组件html ponents之三--.》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、HTML组件HTMLPONENTS之三>>.===最顶级页面=== 现在我们将我们注视的焦点转向我们的日历应用例子,该应用包括4个不同页面,canlendar.html为最顶级HTML文档,该页包含了calendar.htcHTC,而canlendar.htc有反过来包含两个别的HTC:day.htc和today.htc,calendar.html内容如下:<HTMLXMLNS:MYCAL><HEAD><TITLE>CalendarExample</TITLE><?IMPORTN
2、AMESPACE="MYCAL"IMPLEMENTATION="calendar.htc"/></HEAD><BODY><P>Clickadayinthecalendartoaddormodifyyourschedule.</P><MYCAL:CALENDAR></MYCAL:CALENDAR></BODY></HTML> 有几个要点您必须重点注意:第一、命名空间定义在〈HTML〉标记中,我们需要使用在我们要调用的HTC中定义的命名
3、空间,在canlendar.htc中的命名空间是:MYCAL,所以在<HTML>标记中必须出现XMLNS标识。 <?IMPORT>标记以问号开始以和别的正常标记区别开,该标记要求浏览器导入指定的HTC:calendar.htc,HTC可以有多个命名空间,故在导入时需要指明要使用的命名空间(MYCAL):<?IMPORTNAMESPACE="MYCAL"IMPLEMENTATION="calendar.htc"/> HTC的主要优点之一就是:浏览器将一直挂起页面解析直到输入文件全部被导入为止。页面
4、处理的异步机制将导致许多问题,浏览器并不等元素已经完全显示才开始解析页面,作为例子,你可以建立一个对象,并且在文挡的顶部访问一个在页面底部的方法,如果对象因为某些原因为准备好,你将会得到一个错误指示没有该对象不存在或该对象不支持你要访问的方法,相信您已经碰到过此类事情了吧!不管这样,?IMPORT是同步的,并且浏览器会一直等待页面导入完毕并且内容准备好。 页面唯一而且重要的一行是调用自定义标记MYCAL:CALENDAR:<MYCAL:CALENDAR></MYCAL:CALENDAR> 因为页面已经导入,
5、故该调用将会象在calendar.htc所指定的那样建立一个日历。 您可能已经注意到HTC可以包含别的HTC,calendar.htc包括两个别的HTML组件,每个月的所有日期:day.htc和与当前日期一致的today.htc,以下是canlendar.htc的顶部15行:<HTMLXMLNS:MYCALXMLNS:TODAYXMLNS:ANYDAY><HEAD><?IMPORTNAMESPACE="ANYDAY"IMPLEMENTATION="day.htc"/><?IMPORTNAME
6、SPACE="TODAY"IMPLEMENTATION="today.htc"/><PUBLIC:PONENTtagName="CALENDAR"><ATTACHEVENT="oncontentready"ONEVENT="fnInit()"/></PUBLIC:PONENT><SCRIPTLANGUAGE="javascript"><!--functionfnInit(){defaults.vieent;}//--></SCRIPT> 第一行在这
7、些HTC会用到的XML命名空间。这些命名空间即包括本页自己要用到的,也包括页面需调用的命名空间(ANYDAY和TODAY),注意命名空间并不一定要和HTC文件文件名一致。接着,我们导入这些HTC:<?IMPORTNAMESPACE="ANYDAY"IMPLEMENTATION="day.htc"/><?IMPORTNAMESPACE="TODAY"IMPLEMENTATION="today.htc"/> 当我们解析到这些行,浏览器将一直等到要导入的文件被导入才继续页面解析(同步导入)。然后我们定义CALEND
8、AR自定义标记:<PUBLIC:PONENTtagName="CALENDAR"><ATTACHEVENT="oncontentready"ONEVENT="fnInit()"/></PUB
此文档下载收益归作者所有