您的位置:首页 > Web前端 > HTML

Helloj2ee学Silverlight之三--SL的程序组成和如何在HTML网页里嵌入SL程序

2010-03-12 16:19 435 查看
Helloj2ee学Silverlight之三终于如期又和大家见面了。在网上写东西就有这么一点好,如果有一点鼓励,文章就不会太监。所以还希望大家多多捧场。第一篇我们大概说了一下Web程序的组成,第二篇介绍了一下软硬件环境。有人说Helloj2ee这文章就是一个网站的快速建站,说实话真不是。只不过Helloj2ee学习一个东西有自己的方法,就是比较喜欢把原理搞清楚,比较喜欢把全局的东西搞清楚。因此才有前面两章铺垫。

这一章,Helloj2ee的重点就是分析分析一个SL的程序组成和如何将SL的插件嵌入在HTML网页之中。

第二章其实我们已经新建过一个HelloSilverlight,我们不妨重新来过,再次新建,从一个更简单的开始。仍然是老方法新建,选择“Silverlight Application”。只不过,我们在下一步的时候不要选择“Host the Silverlight Application in a new Web site”。意即不要将Sivlerlight程序嵌入在一个网站上。如下图所示:

代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<object width="100%" height="100%" data="data:application/x-silverlight-2,"
type="application/x-silverlight-2">
<param name="source" value="Bin/Debug/HelloSilverlight.xap" />
</object>
</body>
</html>

对这个Object里面的各属性,HelloJ2ee在这里稍作解释:

(1)首先是Width和Height属性,这里使用的都是一个相对坐标,100%意思就是这网页,我SL都给你占用了;

(2)type属性表示的是插件的类型和版本,从名字上来看,我们不难看出它是Silverlight插件,但是后面还有一个2,并不是说这是SL2,实际上SL2以后的版本,不知道为什么微软都是使用2来表示的。参见下表:

Version

MIME Type

Version Number

Installer URL

Silverlight 1.0

application/x-silverlight

1.0

http://go.microsoft.com/fwlink/?LinkId=110408
Silverlight 2

application/x-silverlight-2

2.0.31005

http://go.microsoft.com/fwlink/?LinkID=124807
Silverlight 3

application/x-silverlight-2

3.0.40624

http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0
Silverlight 4 Beta

application/x-silverlight-2

4.0.41109

http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.41109.0

该表来自参考文献[1],不过根据Helloj2ee所知,实际上这里面至少还少了一项,因为目前VS2010RC所使用的Silverlight3并不是3.0.40624版本,下表是HelloJ2ee为微软的文档无偿义务添加的一项。微软的同仁倘若看到,无论对错,都可以看看,倘若对,不用发表意见,错可一定要指出,以免Helloj2ee误人子弟,遗臭万年。

Silverlight 3

application/x-silverlight-2

3.0.40818

http://go.microsoft.com/fwlink/?LinkID=91955&v=3.0.40818.0

(3)还有就是data属性了,Silverlight官方文档就推荐它的值应该写成这样“data:application/x-silverlight-2,”,至于后面这个逗号,还不能丢,表示第二个值是个空值。官方文档上的解释是为了防止某些浏览器的性能下降,因此添加这个属性。Hellj2ee使用的是IE7,有无该属性,都能正常运行。

(4)再下面就是这个param。Object下面可以有若干个param,但是最重要的就是这个Source了,这个Source指定的就是SL插件的文件所在的地方。我们可以看到Default.htm在工程的根目录下即\HelloSilverlight\目录下,而HelloSilverlight.xap在目录HelloSilverlight\Bin\Debug\之下,因此这里的Source值写成“Bin/Debug/HelloSilverlight.xap”。注意反斜杠,一定要反。

好了,接下来我们就可以运行程序了,当然运行之前还需要设置一下,需要将运行的文件指定为Default.htm。指定的方法也非常简单,需要将工程的属性页其中的Debug分页当中Start Action设置成该网页。如下图所示:



这样我们就可以顺利运行程序了,和第二章的道理一样,我们可以将它部署在IIS上,所需要的只是两个文件,一个Default.htm和HelloSilverlight.xap,部署在IIS上需要注意的是他们文件的相对位置一定要正确。Default.htm放在当前目录,那么HelloSilverlight.xap一定要放在当前目录\Bin\Debug直线,或者对Default.htm当中的Source值略作修改。

当然作为可用性上来说,我们还要考虑到,如果机器上的浏览器没有安装Silverlight插件的话,要提示用户下载去安装这些问题,但是Helloj2ee只提最为关键的部分,剩下的相信诸位去参考Silverlight的参考手册,一定不会费力的。请参见参考文献[2]。

本章附带源码:/Files/helloj2ee/HelloSilverlight.rar

参考文献

[1] Silverlight Documentation(Silverlight 4 Beta)Silverlight Plug-in Versioning

[2] Silverlight Documentation(Silverlight 4 Beta)How to: Add Silverlight to a Web Page by Using HTML
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: