CN100492360C - 一种生成网页的方法及系统 - Google Patents

一种生成网页的方法及系统 Download PDF

Info

Publication number
CN100492360C
CN100492360C CNB200510121529XA CN200510121529A CN100492360C CN 100492360 C CN100492360 C CN 100492360C CN B200510121529X A CNB200510121529X A CN B200510121529XA CN 200510121529 A CN200510121529 A CN 200510121529A CN 100492360 C CN100492360 C CN 100492360C
Authority
CN
China
Prior art keywords
data
flash
page
module
xml data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB200510121529XA
Other languages
English (en)
Other versions
CN1991827A (zh
Inventor
杨采石
马丁
姜杰
杨雍
周伟
冯超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CNB200510121529XA priority Critical patent/CN100492360C/zh
Publication of CN1991827A publication Critical patent/CN1991827A/zh
Application granted granted Critical
Publication of CN100492360C publication Critical patent/CN100492360C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种生成网页的方法,包括:服务器数据模块接收到页面控制模块的请求后向所述页面控制模块返回XML数据;所述页面控制模块将接收到的所述XML数据后,并将控制型数据发送给所述页面Flash模块;所述页面Flash模块接收到所述控制型数据后,可直接对所述服务器数据模块进行访问并获得所需XML数据。本发明同时还公开了一种生成网页的系统。通过综合的开发模式可以高效地完成特定的产品设计需求,使得设计流程更加简化,读取数据量减少,代码得到精简及优化。

Description

一种生成网页的方法及系统
技术领域
本发明涉及网络传输技术,更具体地说,涉及一种生成网页的方法及系统。
背景技术
随着互联网的不断发展,现有的采用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数据后,将所述XML数据中的控制型数据发送给所述页面Flash模块;
c.所述页面Flash模块接收到所述控制型数据后,可直接对所述服务器数据模块进行访问并获得所需XML数据;
在本发明所述的方法中,所述步骤b中所述页面控制模块接收到所述XML数据后,进一步包括:
b1.根据所述XML数据进行页面操作;
所述将所述XML数据中的控制型数据发送给所述页面Flash模块是通过所述页面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模块上;
页面控制模块,用于在接收到所述服务器数据模块发来的XML数据后,将所述XML数据中的控制型数据发送给所述页面Flash模块;
页面Flash模块,用于在接收到所述页面控制模块发送的控制型数据后,对所述服务器数据模块进行访问并获得所需的XML数据。
在本发明所述的系统中,所述页面控制模块是由页面嵌入脚本组成。
在本发明所述的系统中,所述脚本是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->Me dia->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>
<!--
varInternetExplorer=navigator.appName.indexOf(″Microsoft″)!=-1;
function myFlash_DoFSCommand(command,args){
var myFlashObj=InternetExplorer?myFlash:document.myFlash;
alert(args);}
if(navigator.appName && navigator.appName.indexOf(″Microsoft″)
!=-1 &&
navigator.userAgent.indexOf(″Windows″)!=-1&&
navigator.userAgent.indexOf(″Windows
3.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(co mmand,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。
本发明是通过几个具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。

Claims (10)

1、一种生成网页的方法,其特征在于,包括以下步骤:
a.服务器数据模块接收到页面控制模块的请求后向所述页面控制模块返回XML数据;
b.所述页面控制模块接收到所述XML数据后,将所述XML数据中的控制型数据发送给页面Flash模块;
c.所述页面Flash模块接收到所述控制型数据后,可直接对所述服务器数据模块进行访问并获得所需XML数据。
2、根据权利要求1所述的方法,其特征在于,所述步骤b中所述页面控制模块接收到所述XML数据后,进一步包括:
b1.对所述XML数据进行分析,根据所述XML数据进行页面操作。
3、根据权利要求2所述的方法,其特征在于,所述步骤b中将所述XML数据中的控制型数据发送给所述页面Flash模块是通过所述页面Flash模块的SetVariable方法将所述控制型数据发送给所述页面Flash模块。
4、根据权利要求1所述的方法,其特征在于,如果所述页面Flash模块包括同级Flash与嵌套于所述同级Flash的子级Flash,所述步骤c中对所述服务器数据模块进行访问并获得所需XML数据具体包括:
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模块上;
页面控制模块,用于在接收到所述服务器数据模块发来的XML数据后,将所述XML数据中的控制数据发送给所述页面Flash模块;
页面Flash模块,用于在接收到所述页面控制模块发送的控制型数据后,对所述服务器数据模块进行访问并获得所需的XML数据。
9、根据权利要求8所述的系统,其特征在于,所述页面控制模块是由页面嵌入脚本组成。
10、根据权利要求9所述的系统,其特征在于,所述脚本是JavaScript脚本。
CNB200510121529XA 2005-12-30 2005-12-30 一种生成网页的方法及系统 Active CN100492360C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200510121529XA CN100492360C (zh) 2005-12-30 2005-12-30 一种生成网页的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200510121529XA CN100492360C (zh) 2005-12-30 2005-12-30 一种生成网页的方法及系统

Publications (2)

Publication Number Publication Date
CN1991827A CN1991827A (zh) 2007-07-04
CN100492360C true CN100492360C (zh) 2009-05-27

Family

ID=38214086

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510121529XA Active CN100492360C (zh) 2005-12-30 2005-12-30 一种生成网页的方法及系统

Country Status (1)

Country Link
CN (1) CN100492360C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556538B (zh) * 2009-04-28 2012-05-23 西安和利德软件有限公司 基于网页平台的二种以上多媒体平台之间的数据通信方法
CN101814030A (zh) * 2010-04-22 2010-08-25 四川长虹电器股份有限公司 一种Widget中菜单更新方法
CN101901274B (zh) * 2010-08-11 2013-08-21 深圳市茁壮网络股份有限公司 实现页面特效的方法及装置
CN103294743A (zh) * 2012-12-26 2013-09-11 北京思特奇信息技术股份有限公司 一种应用于页面的多结点拓扑图展示方法及系统
CN103544067B (zh) * 2013-10-12 2016-08-24 福建升腾资讯有限公司 客户端的flash插件与服务端IE浏览器的网页脚本交互的方法
CN105739957B (zh) * 2014-12-09 2018-11-16 阿里巴巴集团控股有限公司 用户界面数据处理方法及系统
CN104978194B (zh) * 2015-06-25 2018-06-05 北京京东尚科信息技术有限公司 一种网页前端开发方法及装置
CN111274575A (zh) * 2020-01-15 2020-06-12 博智安全科技股份有限公司 一种基于虚拟化环境数据安全隔离的系统应用

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Flash动画与HTML网页的交互. 鲁琴,季长清.大连大学学报,第26卷第4期. 2005
Flash动画与HTML网页的交互. 鲁琴,季长清.大连大学学报,第26卷第4期. 2005 *

Also Published As

Publication number Publication date
CN1991827A (zh) 2007-07-04

Similar Documents

Publication Publication Date Title
CN100492360C (zh) 一种生成网页的方法及系统
Gackenheimer Introduction to React
CN101484894B (zh) 继承维基页面的维基页面布局的方法
US7873668B2 (en) Application data binding
CN101849228B (zh) 用于创建面向IT的基于服务器的Web应用的方法和系统
US6792607B1 (en) Databinding using server-side control objects
CN101122921B (zh) 基于ajax与html标记形成树形显示结构的方法
CN105260420B (zh) 一种用于在移动应用中提供目标页面的方法与设备
Suh Web engineering: principles and techniques
CN104714982A (zh) 一种网页的加载方法和系统
US8745639B2 (en) Controller and method to build a combined web page using data retrieved from multiple APIS
CN102880708B (zh) 用于实现html页面的可视化设计的系统和方法
JP2009543166A (ja) ページによってページ・レイアウトを定義するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム
CN110020307A (zh) 一种客户端视图的绘制方法和装置
US9646103B2 (en) Client-side template engine and method for constructing a nested DOM module for a website
US7188112B1 (en) Method, system, and apparatus for exposing server properties to a client application
US20160012147A1 (en) Asynchronous Initialization of Document Object Model (DOM) Modules
US20160012144A1 (en) Javascript-based, client-side template driver system
CN107479873A (zh) 一种app页面模块化开发方法、电子设备及存储介质
Frederick et al. Beginning smartphone web development
US20050132285A1 (en) System and method for generating webpages
US8112500B2 (en) Technique of relaying communications between client apparatus and server apparatus
CN101876998A (zh) 一种实现数据编辑的方法和系统
US20160012023A1 (en) Self-Referencing of Running Script Elements in Asynchronously Loaded DOM Modules
US8726152B2 (en) Automated detection and implementation of state and object modifications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant