Flash IE9“;“功能”:将旧对象/嵌入对标记转换为单个对象标记,但失败

Flash IE9“;“功能”:将旧对象/嵌入对标记转换为单个对象标记,但失败,flash,object,embed,internet-explorer-9,Flash,Object,Embed,Internet Explorer 9,我正在做一个项目,允许最终用户在他们自己的HTML页面中嵌入flash,同时我们提供了不同的方式,用户可以选择适合他们情况的方式,例如,大多数博客不欢迎用户在他们的页面上注入JavaScript,因此SWFObject是不可能的,我们还提供了另外两种方法:IFrame和旧但好的对象/嵌入对。就像旧的Youtube嵌入代码一样: <object width="560" height="349"> <param name="movie" value="http://www.

我正在做一个项目,允许最终用户在他们自己的HTML页面中嵌入flash,同时我们提供了不同的方式,用户可以选择适合他们情况的方式,例如,大多数博客不欢迎用户在他们的页面上注入JavaScript,因此SWFObject是不可能的,我们还提供了另外两种方法:IFrame和旧但好的对象/嵌入对。就像旧的Youtube嵌入代码一样:

<object width="560" height="349">
    <param name="movie" value="http://www.youtube.com/v/rgyL08nhtkw?version=3&amp;hl=zh_TW"></param>
    <param name="allowFullScreen" value="true"></param>
    <param name="allowscriptaccess" value="always"></param>
        <embed src="http://www.youtube.com/v/rgyL08nhtkw?version=3&amp;hl=zh_TW" type="application/x-shockwave-flash" width="560" height="349" allowscriptaccess="always" allowfullscreen="true"></embed>
</object>

不知何故,新的IE9将上面的标签变成了:

<object width="560" height="349" althtml="<embed src="http://www.youtube.com/v/rgyL08nhtkw?version=3&amp;hl=zh_TW" type="application/x-shockwave-flash" width="560" height="349" allowscriptaccess="always" allowfullscreen="true"></embed>">
    <param name="movie" value="http://www.youtube.com/v/rgyL08nhtkw?version=3&amp;hl=zh_TW"></param>
    <param name="allowFullScreen" value="true"></param>
    <param name="allowscriptaccess" value="always"></param>
</object>

如您所见,IE9将嵌入部分放入对象标记中名为“althtml”的属性中,引号破坏了语法,“althtml”之后的所有flashvars和param不再工作


我想知道有没有办法阻止IE9这么做?只使用object而不使用embed安全吗?

我想你误解了这里实际发生的事情。除非对象标记无法呈现,否则不会呈现对象标记(特别是嵌入标记)中的“回退”HTML。如果对象标记未能呈现,则嵌入标记将呈现


(当然,因为这两个做相同的事情,你最终会得到相同的结果;要么对象将播放,要么对象和嵌入都将无法播放)。

我认为你误解了这里实际发生的事情。除非对象标记无法呈现,否则不会呈现对象标记(特别是嵌入标记)中的“回退”HTML。如果对象标记未能呈现,则嵌入标记将呈现


(当然,因为这两个做同样的事情,你最终会得到同样的结果;要么对象将播放,要么对象和嵌入都将无法播放)。

我不知道为什么altHTML会出现在对象中。但我找到了一份工作。希望对你有帮助

下面是我的问题的链接。。我回答自己:P


我无法找到y的原因,altHTML显示在对象中。但我找到了一份工作。希望对你有帮助

下面是我的问题的链接。。我回答自己:P