javascript - 在 IE 和 FireFox 中播放 Flash 的 XSLT 问题

标签 javascript html xml flash xslt

好的,我正在尝试在 YUI 面板中播放 Flash 视频。我无法让它在 IE 中运行。修复了它,但随后导致它无法在 FireFox 中工作。我花了 HOURS 调试,这就是我发现的:我的 XSLT 文档导致了问题!在这里:

<div id="mediaDisplay">
  <xsl:if test="//video/videoFile">
    <div class="flash" id="flashVid">
      <noscript>
        <object type="application/x-shockwave-flash" data="flash/playerVar1.2.swf" width="525" height="425" id="MediaEmbedObject" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
          <param name="movie" value="flash/playerVar1.2.swf"/>
          <param name="salign" value="lt"/>
          <param name="loop" value="false"/>
          <param name="menu" value="false"/>
          <param name="allowFullScreen" value="true"/>
          <param name="AutoPlay" value="true"/>
          <param name="FlashVars" value="movieSrc={$videouri}"/>
          <embed AutoPlay="true" src="flash/playerVar1.2.swf" quality="high" name="videogalleryObject" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="525" height="425" id="videogalleryObject" FlashVars="{$videouri}" allowFullScreen="true">
          </embed>
        </object>
      </noscript>
      <form action="" name="flashForm">
        <fieldset>
          <input type="hidden" name="flashDivId" value="flashVid"/>
          <input type="hidden" name="flashWidth" value="525"/>
          <input type="hidden" name="flashHeight" value="425"/>
          <input type="hidden" name="flashUrl" value="flash/playerVar1.2.swf"/>
          <input id="playingFlash" type="hidden" name="FlashVars" value="{$videouri}"/>
          <input type="hidden" name="flashName" value="Flash"/>
          <input type="hidden" name="flashAltText" value="{//video/altText}"/>
          <input type="hidden" name="allowScriptAccess" value="always"/>
          <input type="hidden" name="allowFullScreen" value="true"/>
        </fieldset>
      </form>
    </div>
  </xsl:if>
</div>

现在,它在此处编写的方式适用于 FireFox。为了让它在 IE 中工作,唯一真正有效的方法是删除 data="flash/playerVar1.2.swf"。来自 <object> 的属性标记并将其更改为 value="flash/playerVar1.2.swf" .这样做可以让我在 IE 中获得全部功能,但在 FireFox 中却一无所获。我会给你一个链接让你自己看看,但它仍在质量检查中。有没有人有办法在所有平台上进行这项工作。有没有办法在我的 XSLT 中内联运行浏览器检测,然后给它条件?任何和所有想法将不胜感激。谢谢!

最佳答案

我相当确定<embed>里面<object>不是有效标记。即使是,你也应该看看Which browsers support the <embed> and <object> tags?<embed> 只有 valid in HTML5 .

关于javascript - 在 IE 和 FireFox 中播放 Flash 的 XSLT 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6762890/

相关文章:

javascript - 具有反应式布局的 HTML 应用程序的设计模式/工具?

javascript - 类似 FB 的按钮在 ajax 调用中不起作用

javascript - 在模糊事件中添加异常(exception)

android - 在水平和垂直方向的 recyclerview 中膨胀布局,FlexboxLayout 与回收 View 添加 View 水平自动垂直

html - 从 SVG 文件中提取路径坐标

c# - 使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型

javascript - 如何在 JavaScript 中单击外部时禁用文本框

Javascript Regex - 仅捕获未转义的模式

javascript - 我是否必须使用固定大小来显示 HTML 表格的滚动条?

javascript - 将输入复选框的选中属性绑定(bind)到字段