在SharePoint 2010页面中嵌入SWF文件

在SharePoint 2007之前的版本中,我们可以像在普通的html页面里一样,在SharePoint页面中插入Flash文件。但是,当我在2010里做相同的工作时却发现始终是提示“没有加载影片”。

通常我们是使用<Object>标记:

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
WIDTH="550" HEIGHT="400" id="myMovieName">
<PARAM NAME=movie VALUE="test.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="test.swf" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400"
NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>

但是,这段代码在SharePoint Designer中显示时,就会变成下面这样:

原因是网页编辑器的XHTML 1.0 Strict检查。

但是这个会是导致错误的原因吗?

于是,我就换了一种javascript动态生成代码的方法。 这里使用“SWFObject”。它是利用Javascript 插入flash的一个开源库。它的优点很多。首先是和其他js库一样,可以使代码简洁。据说还不会出现IE6下的“单击此处以激活控件”的提示,并且能通过W3C验证。通过SWFObject在SharePoint Designer中插入swf文件后网页编辑器中显示好看多了:

但是在浏览器中查看后,发现问题依旧。看来SharePoint 服务器端的限制并不在此。

最后,在msdn官方论坛里找到了解决办法。原来是在Web应用程序这一层的设置中有所限制。

步骤

1、打开管理中心,Web应用程序管理,高亮选中我们的SharePoint页面所在的Web应用程序。

2、点击功能区中“管理”分组下的“常规设置”

3、在打开的Web应用程序常规设置对话框中,滚到到页面中部,找到“浏览器文件处理程序”,将其改为“许可”

3、点击确定。

关闭浏览器,重新打开嵌入swf文件的的SharePoint页面。发现Flash终于可以正常显示了。

总结

最后问题的解决虽然与代码无关,但是找到了SWFObject这种简洁并符合标准的flash加载方法,还是很有收获的。

参考资料

Embedding SWF file in a sharepoint Page

posted @ 2012-08-09 23:58 Sunmoonfire 阅读(...) 评论(...) 编辑 收藏