Проблемы XSLT с проигрыванием Flash в IE и FireFox - PullRequest
2 голосов
/ 20 июля 2011

Хорошо, я пытаюсь воспроизвести флэш-видео на панели YUI. У меня были проблемы с тем, чтобы заставить его работать в IE. Исправил это, но затем это заставило это не работать в FireFox. Я потратил ЧАСЫ на отладку, и вот что я нашел: мой документ 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. Я бы дал вам ссылку, чтобы убедиться в этом, но она все еще в QA. У кого-нибудь есть способ заставить это работать на всех платформах. Есть ли способ запустить встроенное обнаружение браузера в моем XSLT и затем дать ему условия? Любые и все идеи будут оценены. Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 октября 2011

Я закончил писать в обнаружении браузера и запустил другой код для IE, чем остальные, где значение = "flash / playerVar1.2.swf" вместо data = "flash / playerVar1.2.swf".Самый простой способ удовлетворить зверя из IE на мой взгляд.О, это прекрасно работает в своей первоначальной итерации в IE9.

0 голосов
/ 14 августа 2011

Я уверен, что <embed> внутри <object> не является допустимой разметкой.Даже если это так, вам действительно стоит взглянуть на Какие браузеры поддерживают теги и ? , поскольку <embed> только , действительный в HTML5 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...