<object>
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="flash/banner.swf" >
<!--<![endif]-->
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
这是Dreamweaver CS4插入flash时自动生成的代码,由于目前IE对Object的兼容性比较差,所以这里用了条件注释,代码就是嵌套了Object,这样任何浏览器 里面都可以正确执行代码,但是如果用ASP写程序的话就小心了,虽然这是HTML代码,但ASP解释程序认为Object不能嵌套Object,报错 “object 标记不能放在另一个 object 标记内”,有点奇怪吧,服务端的程序竟然插手客户端的家庭事务,看来ASP确实老了,不能与时俱进…
问题总是要解决的,可以不使用object标记,使用embed标记也可以做到,但是object属于w3c推荐的标准,他的功能比embed更强大一些,这时候非要用object怎么办呢?其实很简单,目的就是不让asp看到object的嵌套就行了,代码如下
<%response.write("<object>")%>
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="flash/banner.swf" >
<!--<![endif]-->
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
这样ASP就不会认为是object嵌套了,直接输出到客户端