一种网页开发的方法及系统的制作方法

文档序号:7627536阅读:73来源:国知局
专利名称:一种网页开发的方法及系统的制作方法
技术领域
本发明涉及网络传输技术,更具体地说,涉及一种网页开发的方法及系统。
背景技术
随着互联网的不断发展,现有的采用XML+Flash组合或XML+JavaScript组合的网页开发模式已不能实现特定的产品需要。
XML技术XML即为可扩展的标记语言(eXtensible Markup Language)。是一种具有数据描述功能(Meta-language)、高度结构性及可验证性的语言。和HTML一样,XML同样使用了标记和属性;和HTML最大的不同在于XML的标记和属性允许用户自行定义,并可以依照所定义的标记与属性的语法来开发应用程序。XML采用了开放架构设计,它允许在Internet上的任何平台或语言之间交换数据。
Flash技术Flash是由Macromedia公司开发设计的。Flash是一种创作工具,设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。Flash可以包含简单的动画、视频内容、复杂演示文稿和应用程序以及介于它们之间的任何内容。Flash特别适用于创建通过Internet提供的内容,因为它的文件非常小。Flash是通过广泛使用矢量图形做到这一点的。
JavaScript技术JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,有了JavaScript,可使网页变得生动。使用它的目的是与HTML超文本标识语言、Java脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。它是通过嵌入或调入在标准的HTML语言中实现的。
XML+Flash组合与XML+JavaScript组合这两种网页开发模式单独运用,各自都有优缺点,具体如下XML+Flash组合,优点XML对象允许输入和集成任何Web上的XML格式的数据到Flash中,即Flash动画能从自己的域里载入XML数据,这样Flash就能够将XML数据和精彩的动画及声音无缝结合起来。另外,Flash几乎拥有在任何平台上处理XML的能力。一般来说,大多数XML转换是在服务器端处理的,因为浏览器对XML的支持不是很完全。因此,采用Flash就可以减少服务器访问频率,大大地降低了服务器的开销。缺点是一种新的开发模式,难以兼容以前系统,如gif图片的开发。
XML+JavaScript组合,优点是一种比较成熟的开发模式,运用得比较广泛,还可以兼容以前系统。缺点采用JavaScript做前台开发,在开发页面无刷新或者尽量少刷新的情况下,前台开发的代码复杂程序比较高,代码冗余。
如果没有XML,由于JavaScript与Flash相互间的频繁通信也会造成很多问题,例如跨域问题等等。
因此,如果将上述两种方式很好地结合起来,即XML+Flash+JavaScript,运用其优点,那么可以高效地完成特定产品的设计需要。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种网页开发的方法及系统,解决了单纯XML+Flash组合或XML+JavaScript组合的前台开发模式所不能实现的需求。
本发明解决其技术问题所采用的技术方案是构造一种实现网页开发的方法,包括以下步骤a.服务器数据模块接收到页面控制模块的请求后向所述页面控制模块返回XML数据;b.所述页面控制模块将接收到的所述XML数据后,并将部分数据发送给所述页面Flash模块;c.所述页面Flash模块接收到所述部分数据后,可直接对所述服务器数据模块进行访问并获得所需XML数据;在本发明所述的方法中,所述步骤b包括b1.所述页面控制模块将接收的所述XML数据进行分析,并根据所述XML数据进行页面操作;b2.通过所述页面Flash模块的SetVariable方法将所述部分数据发送给所述页面Flash模块。
在本发明所述的方法中,所述部分数据是指控制型数据。
在本发明所述的方法中,如果所述页面Flash模块包括同级Flash与父级Flash嵌套子级Flash,所述步骤c还包括c1.通过所述页面Flash模块的fscommand方法通知所述页面控制模块加载同级Flash;c2.所述同级Flash加载其子级Flash;c3.所述同级Flash可直接对所述服务器数据模块进行访问并获得所需XML数据,并与所述所述子级Flash进行数据通讯。
在本发明所述的方法中,所述所需XML数据是指静态XML数据或公用XML数据。
在本发明所述的方法中,所述页面控制模块是由页面嵌入脚本组成。
在本发明所述的方法中,所述脚本是JavaScript脚本。
一种网页开发的系统,其特征在于,包括服务器数据模块,用于将后台服务器上的数据以XML数据的格式发送到页面控制模块与页面Flash模块上;页面控制模块,用于接收所述服务器数据模块发来的数据,控制页面的动作以及与所述页面Flash通信;页面Flash模块,由一个或一个以上的Flash组成,每个Flash之间可以相互控制、通信以及分别与所述服务器数据模块与所述页面控制模块通信。
在本发明所述的系统中,所述页面控制模块是由页面嵌入脚本组成。
在本发明所述的系统中,所述脚本是JavaScript脚本。
本发明的有益效果是,通过综合的开发模式可以高效地完成特定的产品设计需求,使得设计流程更加简化,读取数据量减少,代码得到精简及优化。而且可以适应更复杂的业务逻辑,制作更佳的前台表现效果,并且优化前台开发模式,减少页面的刷新次数,保证后台服务器的稳定。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是本发明的系统架构图。
具体实施例方式
如图1所示,一种网页开发的系统包括服务器数据模块100,用于将后台服务器上的数据以XML数据的格式发送到页面控制模块与页面Flash模块上;页面控制模块102,用于接收所述服务器数据模块发来的数据,控制页面的动作以及与页面Flash模块104通信;页面Flash模块104,由一个或一个以上的Flash组成,每个Flash之间可以相互控制、通信以及分别与所述服务器数据模块100与所述页面控制模块通信102。
下面以服务器数据模块100,其服务器环境是数据库用DB软件或MySQL软件,Web服务器软件用Apach以及运行在web服务器上CGI脚本,页面控制模块102,由页面嵌入脚本JavaScript脚本或VBScript脚本组成,服务器传输的数据格式为XML为例进行详细说明编写一个Web网页,如果设计高级功能,需要一些脚本语言的支持,如JavaScript脚本或VBScript脚本。当页面(HTML)被用户触发装载完成后。通过超文本传输协议(HTTP)调用服务器端脚本,例如,调用CGI脚本,向服务器发出请求。数据库DB中检索数据,把数据按照XML格式输出到前端页面上声明对象中。由页面上的脚本语言来解释该XML对象,并把数据填充到对应的页面元素中。
XML与HTML比较,HTML是一种固定格式的超文本标识语言,因格式固定,标识有限,故难以扩展。而XML保留了SGML的可扩展功能,可以定义其他语言,同时XML的标识,用户可以自己定义。XML提供了一个直接“处理”web数据的通用方法,而HTML只是web“显示”数据的通用方法。XML着重描述的是web页面的“内容”,而HTML着重页面“显示格式”。XML使机器能交谈(能自动处理信息),HTML方便了人与人的交流(只是网络初级阶段)。XML具有良好的交互性,它可以在客户机上进行数据操作,不需与服务器交互,极大地减轻了服务器的负担。HTML不支持深层的结构描述,而XML的文件结构嵌套可以复杂到任何程度。XML文档对象模式(DOM)允许用脚本或其他编程语言处理数据。数据计算不需要回到服务器端就能进行。每当一部分数据变化后,不需要重发整个结构化的数据。变化的数据会通过XML从服务器发送给客户,不需要刷新整个使用者的界面就能够显示出来。
本实施例通过在页面嵌入JavaScript脚本实现JavaScript到Flash的通信、Flash到JavaScript的通信以及Flash与Flash之间的通信的三种通信方式。
具体的操作流程如下(如图1所示)网页装载JavaScript脚本102,触发其进行对服务器数据模块100的响应,JavaScript脚本102与服务器数据模块100进行交互,服务器数据模块100通过CGI脚本到DB数据库里查找、分析与组织所响应的数据,然后以XML文件的格式发送给JavaScript脚本102。
JavaScript脚本102得到所需要的整个页面的数据后,对数据进行分析,并根据数据进行页面操作,把一部分数据发送给页面Flash模块104,该数据一般为控制型数据(数据量少更新频率快,对整个业务逻辑起重要控制作用的数据)。页面Flash模块接104收到控制数据,就可以单独对服务器数据模块100进行访问,并得到大量所需的数据,该数据一般为静态数据或公用数据(相对更新频率慢的数据,大量的文本数据)。页面Flash模块接104的父级Flash106通知JavaScript脚本102加载同级Flash110,页面Flash模块104比较复杂,可以由单个Flash组成,也可以由多个Flash并行组成,即并行的Flash都是同级Flash,如图1中的同级Flash110,每个同级Flash还可以嵌套子级Flash(这时的同级Flash相对于子级Flash来说可称为父级Flash,如图1中的父级Flash106),或者可以由一个父级Flash106嵌套子级Flash108(具体根据产品的设计需求而定)。父级Flash106加载子级Flash108后,同级Flash110也可以单独访问服务器数据模块100,并得到其说需要的数据,子级Flash108与同级Flash110之间也可以相互控制与进行数据通信。
以下是为了对上述三种通信进行详细说明的需要,而仅仅列举了这些示例,但是本发明并不局限于这些示例。
由于并不是所有的浏览器都支持JavaScript脚本,为了和Flash播放器通信,浏览器必须有内置的接口以便于Flash播放器可以“监听”,所以浏览器最好是下列的几种1)Netscape Navigator 3.0-4.7x(Windows 95/98/NT/2000/XP或MacOS;允许Java和LiveConnect);2)Netscape 6.2或更高(Windows 95/98/NT/2000/XP或MacOS;允许Java和LiveConnect);3)Internet Explorer 3.0或更高(Windows 95/98/NT/2000/XP;允许ActiveX)。
第一、JavaScript到Flash的通信实现JavaScript到Flash的通信,主要是通过使用Flash的SetVariable方法把变量从HTML的input text发送到该页面中的Flash文件中。HTML input的数据通过Flash的SetVariable方法传送到Flash文件中,具体步骤如下在页面Flash模块中1)新建一个文件,以文件名为javascript_to_flash.fla保存;2)用文字工具在舞台上创建一个文本域;3)选择该文本域,并在属性面板中,从下拉列表中选择动态文本(DynamicText),在变量(variable)栏填上“myVar”,并保存该文件;4)发布HTML文件和SWF文件。
在页面控制模块中网页开发的工具可以采用Dreamweaver,也可以是其它的HTML编辑器,下面以Dreamweaver为例进行说明。
1)打开上述发布的HTML文件;2)插入生成的SWF文件和OBJECT/EMBED标签。首先,在工具栏上选择Insert->Media->Flash,并选择该Flash,然后,切换到代码视图,修改被选中的<OBJECT>和<EMBED>标签,最后,在EMBED标签中,插入id=myFlash,并插入name=myFlash和swliveConnect=true,确保没有使用id属性;3)创建表单域。首先,在设计视图中插入文本域(如Insert->Formobject>Text Field),如果询问是否添加表单域,就选择是,然后把文本域的HTML标签修改为<input type=″text″name=″sendText″maxlength=″45″onChange=″doPassVar(this)″>
这样,每当文本域内容发生变化时,onChange就被触发,doPassVar()函数就会被调用;4)创建传递变量值的JavaScript函数。首先复制下面的JavaScript脚本到<head></head>标签内<SCRIPT LANGUAGE=JavaScript>
<!--function doPassVar(args){var sendText=args.value;window.document.myFlash.SetVariable(″myVar″,sendText);}//-->
</SCRIPT>
5)保存该文件。即可完成JavaScript到Flash的通信。
第二、Flash到JavaScript的通信JavaScript脚本嵌入页面的HTML中,从HTML可以发送数据到Flash,反过来也可以,即从Flash到JavaScript的通信。下面通过应用Flash的Fscommand来发送数据到JavaScript,具体步骤如下在页面Flash模块中
1)新建一个文件,以文件名为flash_to_javascript.fla保存;2)创建一个文本域,设置成输入文本(Input Text),选择border,并指定其变量为inputVar;3)创建一个按钮,并在按钮上添加如下函数on(release){fscommand(″send_var″,inputVar);}4)保存文件,并导出HTML文件和SWF文件。
在页面控制模块中网页开发的工具采用Dreamweaver为例进行说明。
1)打开上述导出的HTML文件,并修改<OBJECT>和<EMBED>标签,具体步骤与结果与上述JavaScript到Flash的通信的步骤一样;2)将JavaScript脚本插入<Body>标签内,具体代码如下<SCRIPT LANGUAGE=JavaScript>
<!--var InternetExplorer=navigator.appName.indexOf(″Microsoft″)!=-1;function myFlash_DoFSCommand(command,args){var myFlashObj=InternetExplorer?myFlashdocument.myFlash;alert(args);}if(navigator.appName && navigator.appName.indexOf(″Microsoft″)!=-1 &&navigator.userAgent.indexOf(″Windows″)!=-1&&navigator.userAgent.indexOf(″Windows3.1″)==-1){document.write(’<SCRIPT LANGUAGE=VBScript\>\n’);document.write(’on error resume next\n’);document.write(’Sub myFlash_FSCommand(ByVal command,ByVal args)\n’);document.write(’call myFlash_DoFSCommand(command,args)\n’);document.write(’end sub\n’);document.write(’</SCRIPT\>\n’);}//--></SCRIPT>
3)保存该文件。即可完成Flash到JavaScript的通信。
第三、Flash和Flash之间的通信由上述可知,同一个HTML中的两个或者更多的Flash直接可以相互传送消息。从一个Flash使用fscommand传送消息给JavaScript,并使用Flash的JavaScript方法把消息传给另一个Flash。例如,从Flash MX开始,可以利用local connection对象在Flash之间传送消息,使得同一HTML中的或者位于两个浏览器窗口中的两个Flash影片可以相互发送消息,而不必使用JavaScript或者fscommand。
本发明是通过几个具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
权利要求
1.一种实现网页开发的方法,其特征在于,包括以下步骤a.服务器数据模块接收到页面控制模块的请求后向所述页面控制模块返回XML数据;b.所述页面控制模块将接收到的所述XML数据后,并将部分数据发送给所述页面Flash模块;c.所述页面Flash模块接收到所述部分数据后,可直接对所述服务器数据模块进行访问并获得所需XML数据;
2.根据权利要求1所述的方法,其特征在于,所述步骤b包括b1.所述页面控制模块将接收的所述XML数据进行分析,并根据所述XML数据进行页面操作;b2.通过所述页面Flash模块的SetVariable方法将所述部分数据发送给所述页面Flash模块。
3.根据权利要求2所述的方法,其特征在于,所述部分数据是指控制型数据。
4.根据权利要求1所述的方法,其特征在于,如果所述页面Flash模块包括同级Flash与父级Flash嵌套子级Flash,所述步骤c还包括c1.通过所述页面Flash模块的fscommand方法通知所述页面控制模块加载同级Flash;c2.所述同级Flash加载其子级Flash;c3.所述同级Flash可直接对所述服务器数据模块进行访问并获得所需XML数据,并与所述子级Flash进行数据通讯。
5.根据权利要求4所述的方法,其特征在于,所述所需XML数据是指静态XML数据或公用XML数据。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述页面控制模块是由页面嵌入脚本组成。
7.根据权利要求6所述的方法,其特征在于,所述脚本是JavaScript脚本。
8.一种网页开发的系统,其特征在于,包括服务器数据模块,用于将后台服务器上的数据以XML数据的格式发送到页面控制模块与页面Flash模块上;页面控制模块,用于接收所述服务器数据模块发来的数据,控制页面的动作以及与所述页面Flash通信;页面Flash模块,由一个或一个以上的Flash组成,每个Flash之间可以相互控制、通信以及分别与所述服务器数据模块与所述页面控制模块通信。
9.根据权利要求8所述的系统,其特征在于,所述页面控制模块是由页面嵌入脚本组成。
10.根据权利要求9所述的系统,其特征在于,所述脚本是JavaScript脚本。
全文摘要
本发明涉及一种实现网页开发的方法,包括服务器数据模块接收到页面控制模块的请求后向所述页面控制模块返回XML数据;所述页面控制模块将接收到的所述XML数据后,并将部分数据发送给所述页面Flash模块;所述页面Flash模块接收到所述部分数据后,可直接对所述服务器数据模块进行访问并获得所需XML数据。本发明同时还公开了一种实现网页开发的系统。通过综合的开发模式可以高效地完成特定的产品设计需求,使得设计流程更加简化,读取数据量减少,代码得到精简及优化。
文档编号H04L29/06GK1991827SQ200510121529
公开日2007年7月4日 申请日期2005年12月30日 优先权日2005年12月30日
发明者杨采石, 马丁, 姜杰, 杨雍, 周伟, 冯超 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1