相关文章
网站设计Win2K服务器装JFCMS
企通互联CSS实用教程(二)
网站建设CSS+DIV:让文本字符环绕在你的图片周围
网站建设Dreamweaver MX 2004 表格的使用
网页设计抗日Flash集之:大中华ⷱ937
企通互联FLASH MX 2004视频教程: 七巧板2
网站设计Flash8横空出世 鲜为人知的新特性大揭露
北京网站设计Flash视频教程:1.6 画笔工具
网站制作Dreamweaver MX进阶教程(七)创建基于框架的网页
网站制作用FrontPage 2003发布您的网站
品牌理念
北京网站建设最佳合作伙伴
北京网站建设专家企通互联
竭诚为您提供网站建设服务!
友好连接
文章搜索
你的位置:首页 >> 网站制作 >> 网站建设网站建设HTML组件(HTML COMPONENTS)之三
网站建设网站建设HTML组件(HTML COMPONENTS)之三
网站制作
现在我们将我们注视的焦点转向我们的日历应用例子,该应用包括4个不同页面,canlendar.html为最顶级HTML文档,该页包含了calendar.htc HTC,而canlendar.htc有反过来包含两个别的HTC:day.htc和today.htc,calendar.html 北京网站建设
内容如下: 网站制作
网站建设
<HTML XMLNS:MYCAL> 网页设计
<HEAD> 企通互联 北京网站建设
<TITLE>Calendar Example</TITLE> 北京网站制作
<?IMPORT NAMESPACE="MYCAL" IMPLEMENTATION="calendar.htc"/> 北京网站建设
</HEAD> 北京网站建设
网站建设
<BODY> 北京网站制作
<P>Click a day in the calendar to add or modify your schedule.</P> 网页设计
北京网站建设
<MYCAL:CALENDAR></MYCAL:CALENDAR> 北京网站制作
网站设计
</BODY> 网站制作
</HTML> 北京网站制作
北京网站设计
有几个要点您必须重点注意:第一、命名空间定义在〈HTML〉标记中,我们需要使用在我们要调用的HTC中定义的命名空间,在canlendar.htc中的命名空间是:MYCAL,所以在<HTML>标记中必须出现XMLNS标识。 网站制作
<?IMPORT>标记以问号开始以和别的正常标记区别开,该标记要求浏览器导入指定的HTC:calendar.htc,HTC可以有多个命名空间,故在导入时需要指明要使用的命名空间(MYCAL): 网页设计
网站建设
<?IMPORT NAMESPACE="MYCAL" IMPLEMENTATION="calendar.htc"/> 网站制作
网站制作
HTC的主要优点之一就是:浏览器将一直挂起页面解析直到输入文件全部被导入为止。页面处理的异步机制将导致许多问题,浏览器并不等元素已经完全显示才开始解析页面,作为例子,你可以建立一个对象,并且在文挡的顶部访问一个在页面底部的方法,如果对象因为某些原因为准备好,你将会得到一个错误指示没有该对象不存在或该对象不支持你要访问的方法,相信您已经碰到过此类事情了吧!不管这样,?IMPORT 是同步的,并且浏览器会一直等待页面导入完毕并且内容准备好。
页面唯一而且重要的一行是调用自定义标记MYCAL:CALENDAR: 北京网站设计 北京网站制作
网站建设
<MYCAL:CALENDAR></MYCAL:CALENDAR> 北京网站制作
网页设计
因为页面已经导入,故该调用将会象在calendar.htc所指定的那样建立一个日历。
您可能已经注意到HTC可以包含别的HTC,calendar.htc包括两个别的HTML组件,每个月的所有日期:day.htc和与当前日期一致的today.htc,以下是canlendar.htc的顶部15行:北京网站设计 北京网站设计
北京网站制作
<HTML XMLNS:MYCAL XMLNS:TODAY XMLNS:ANYDAY> 网站制作
<HEAD> 北京网站制作
<?IMPORT NAMESPACE="ANYDAY" IMPLEMENTATION="day.htc"/> 网站设计
<?IMPORT NAMESPACE="TODAY" IMPLEMENTATION="today.htc"/> 企通互联
网站制作
<PUBLIC:COMPONENT tagName="CALENDAR"> 北京网页设计
<ATTACH EVENT="oncontentready" ONEVENT="fnInit()"/> 网站制作
</PUBLIC:COMPONENT> 北京网站设计
<SCRIPT LANGUAGE="JavaScript"> 北京网站制作
<!-- 网页设计
function fnInit() 北京网页设计
{ 网站建设
defaults.viewLink = document; 北京网站制作
} 网站设计
// --> 网站建设
</SCRIPT> 北京网站设计
企通互联
第一行在这些HTC 北京网页设计会用到的XML命名空间。这些命名空间即包括本页自己要用到的,也包括页面需调用的命名空间(ANYDAY 网站建设和 TODAY ),注意命名空间并不一定要和HTC文件文件名一致。接着,我们导入这些HTC: 北京网站制作
网站建设
<?IMPORT NAMESPACE="ANYDAY" IMPLEMENTATION="day.htc"/> 网站建设
<?IMPORT NAMESPACE="TODAY" IMPLEMENTATION="today.htc"/> 网站制作
网站制作
当我们解析到这些行,浏览器将一直等到要导入的文件被导入才继续页面解析(同步导入)。
然后我们定义CALENDAR 网站制作自定义标记: 企通互联
网站设计北京网页设计
<PUBLIC:COMPONENT tagName="CALENDAR"> 北京网页设计
<ATTACH EVENT="oncontentready" ONEVENT="fnInit()"/> 企通互联网站制作
</PUBLIC:COMPONENT> 北京网站制作
网页设计
PUBLIC:COMPONENT用来描述CALENDAR标记,在开始和结束标记之间,您可以将事件附加到CALENDAR标记上,事件oncontentready将在calendar.htc文件全部被导入,并被解析时,指定处理时间的是定义在JAVASCRIPT的函数:fnInit():北京网站设计
网站建设
<SCRIPT LANGUAGE="JavaScript"> 北京网站设计
<!-- 北京网站制作
function fnInit() 网站设计
{ 网站制作
defaults.viewLink = document; 网页设计
} 北京网页设计
// --> 网站建设
</SCRIPT> 网页设计
北京网站设计
viewLink指定的值非常重要,它是HTML组件的基础,它连接了HTML组件和调用该HTML组件的页面,defaults对象有别的属性并且会在别的地方被覆盖,我们给viewLink属性赋的是HTML文档对象,正因为该连接,我们才可以建立HTC组件和包含页面互访。 网站设计
我们将在后面解释日历的层。注意,尽管在日历中当月的当天框和其他天框、空框的样式不一样,但是我们通过优先级法则来实现在包含页中,HTML组件忽略任何相互冲突的样式定义。calendar.htc的样式定义如下: 网页设计
北京网站设计
<STYLE> 北京网站建设
TD { 网页设计
background-color:tan; 北京网页设计
width:50; 网站建设
height:50; 网站建设
} 北京网站设计
</STYLE> 北京网站设计
网站设计
现在将该定义和日历比较,只有空框是的颜色是黄褐色的,我们调用的HTC忽略了这些定义,被调用的页面都嵌入了页面定制。以下调用TODAY:DAY HTML组件:网页设计
北京网站建设
<TODAY:DAY value=' + dayOfMonth + '></TODAY:DAY> 北京网站设计
北京网站建设
我们只是简单的传入了当月中的第几天,同样的调用ANYDAY:DAY 也是简单的传入当月中的第几天: 网站设计
网页设计
<ANYDAY:DAY value=' + dayOfMonth + '></ANYDAY:DAY>
上一篇:网站设计HTML组件(HTML COMPONENTS)之四
下一篇:北京网站制作HTML组件(HTML COMPONENTS)之二