使用<object>标签
<!--[if IE ]>
<object type="application/x-shockwave-flash" width="650" height="500" id="mybcastr">
<param name="movie" value="bcastr4.swf?xml=
<data>
<channel>
<item>
<link>http://www.ruochi.com</link>
<image>images/image1.jpg</image>
<title>Bell Tower,Xi'an,China</title>
</item>
<item>
<link>http://www.ruochi.com</link>
<image>images/image2.jpg</image>
<title>Greater Wild Goose Pagoda,Xi'an,China</title>
</item>
<item>
<link>http://www.ruochi.com</link>
<image>images/image3.jpg</image>
<title>Terra Cotta Warriors,Xi'an,China</title>
</item>
<item>
<link>http://www.ruochi.com</link>
<image>images/image4.jpg</image>
<title>The Forest of Steles ,Xi'an,China</title>
</item>
<item>
<link>http://www.ruochi.com</link>
<image>images/image5.jpg</image>
<title>The Qian Tomb,Xi'an,China</title>
</item>
</channel>
</data>" />
</object>
<![endif]-->
上面的代码中
<!--[if IE ]>,,,,,,<![endif]-->
是用来给IE浏览器看的。如果浏览器是IE,则中间的代码可以解析,否则忽略。同理,下面的If标签给非IE的浏览器解析。
嵌入IE的flash的object标签需要将信息放在<param>中。而非IE的object将data信息放在<object>中。
<!--[if !IE ]>
<object type="application/x-shockwave-flash" data="bcastr4.swf?xml=
<data>
<channel>
<item>
<link>http://www.ruochi.com</link>
<image>images/image2.jpg</image>
<title>Greater Wild Goose Pagoda,Xi'an,China</title>
</item>
<item>
<link>http://www.ruochi.com</link>
<image>images/image3.jpg</image>
<title>Terra Cotta Warriors,Xi'an,China</title>
</item>
<item>
<link>http://www.ruochi.com</link>
<image>images/image4.jpg</image>
<title>The Forest of Steles ,Xi'an,China</title>
</item>
<item>
<link>http://www.ruochi.com</link>
<image>images/image5.jpg</image>
<title>The Qian Tomb,Xi'an,China</title>
</item>
</channel>
</data>
" width="650" height="500" id="vcastr3">
</object>
<![endif]-->
最后,关于bcastr4.swf文件,存放位置比较奇怪,放在/web 下面。 如果放在/web/WEB-INF/下,需要修改路径。
在项目中,图片及其链接需要动态读取,不能用死数据。值得注意的是,firefox可以在object生成后动态修改其属性值,ie却不行。因此,这样解决这个问题。
<div id="chinese_ie" >
<script type="text/javascript">
chinese_finalie = forIE1 + chinese_xmlBlock + forIE2 ;
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
document.write(chinese_finalie);
}
</script>
</div> <script type="text/javascript">
看到这里又想起一个知识点,chinese_finalie是在前面的script中定义的。结论是:script中的变量可以跨区域使用