之前公司的项目在内网运行,客户都是使用的IE浏览器,而且版本比较低,我们做的网页也都是基于IE开发的,不用考虑兼容性问题,页面引用flash模块都是如下方式引入的
<div width="900" height="630" align="center" style="top: 0px;vertical-align: top">
<object align="top" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="918" height="630">
<param name="movie" value="sdmap.swf" />
</object>
</div>
现在内网也开始流行谷歌,IE也变成了11,这样在谷歌和IE11浏览器默认设置下页面都是空白了。
解决这个问题最好的办法就是使用swfobject.js
修改好的页面代码如下
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("sdmap.swf", "myContent", "900", "630", "9.0.0");
</script>
</head>
<body>
<div id="myContent">
<p>版本太低</p>
</div>
</body>
</html>
用这个js的好处:
1.解决了浏览器兼容的问题。
2.提供了完善的版本检测功能,如果版本不够则显示其他东西,比如图片或文字。
3.易于使用,只要在页面头加载一个 .js 文件,然后 HTML 写一个容器,里面放普通的文本或图片(用于无法显示 Flash 时显示),最后用脚本来替换这个元素里面的内容为 Flash。
4.使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。
5.能够避免HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。