Pergunta

Como você incorporar um arquivo SWF em uma página HTML?

Foi útil?

Solução

A melhor abordagem para incorporar um SWF em uma página HTML é usar SWFObject .

É uma biblioteca JavaScript open-source simples que é fácil de usar e método de normas-friendly para o conteúdo do Flash incorporar.

Ele também oferece o Flash versão detecção jogador. Se o usuário não tiver a versão do Flash exigida ou tem o JavaScript desativado, eles vão ver um conteúdo alternativo. Você também pode usar esta biblioteca para acionar uma atualização do Flash Player. Uma vez que o usuário tenha atualizado, que será redirecionado para a página.

Um exemplo da documentação:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>SWFObject dynamic embed - step 3</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript" src="swfobject.js"></script>

    <script type="text/javascript">
        swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
    </script>

  </head>
  <body>
    <div id="myContent">
      <p>Alternative content</p>
    </div>
  </body>
</html>

Uma boa ferramenta para usar junto com este é o SWFObject HTML e JavaScript gerador . Ele basicamente gera o HTML e JavaScript que você precisa para incorporar o Flash usando SWFObject. Vem com uma interface muito simples para que você insira seus parâmetros.

É altamente recomendado e muito simples de usar.

Outras dicas

<object width="100" height="100">
    <param name="movie" value="file.swf">
    <embed src="file.swf" width="100" height="100">
    </embed>
</object>

Como cerca de tag HTML5 simples incorporar?

<!DOCTYPE html>
<html>
<body>

<embed src="anim.swf">

</body>
</html>

Este é adequado para aplicação do ambiente radicular.

<object type="application/x-shockwave-flash" data="/dir/application.swf" 
id="applicationID" style="margin:0 10px;width:auto;height:auto;">

<param name="movie" value="/dir/application.swf" />
<param name="wmode" value="transparent" /> <!-- Or opaque, etc. -->

<!-- ↓ Required paramter or not, depends on application -->
<param name="FlashVars" value="" />

<param name="quality" value="high" />
<param name="menu" value="false" />

</object>

Os parâmetros adicionais devem ser / podem ser adicionados que depende .swf que eu. Sem incorporar , apenas a objeto e parâmetros dentro, por isso, continua a ser válida, trabalhando e utilizável em todos os lugares, não importa o que! DOCTYPE é tudo. :)

<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/VhtIydTmOVU&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01" 
style="width:640px;height:480px;margin:10px 36px;">

<param name="movie" value="http://www.youtube.com/v/VhtIydTmOVU&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="wmode" value="opaque" />
<param name="quality" value="high" />
<param name="menu" value="false" />

</object>

Se você estiver usando uma dessas js bibliotecas para inserir Flash, sugiro acrescentando objeto planície incorporar tag dentro de <noscript/>.

Eu uso http://wiltgen.net/objecty/ , ajuda a conteúdo de mídia incorporar e evitar o IE "clique para ativar" problema.

Como mencionado SWF objeto é grande. UFO é olhar uma pena bem

Este será um trabalho, tenho a certeza!

<embed src="application.swf" quality="high" pluginspage="http://www.macromedia.com/go/getfashplayer" type="application/x-shockwave-flash" width="690" height="430">

O que é a maneira 'melhor'? Palavras como 'mais eficiente', 'renderização mais rápida', etc. são mais específicos. De qualquer forma, eu estou oferecendo uma resposta alternativa que mais me ajuda do tempo (ou não é 'melhor' é irrelevante).

resposta alternativo:. Use um iframe

Isto é, hospedar o arquivo SWF no servidor. Se você colocar o arquivo SWF na raiz ou pasta public_html, em seguida, o arquivo SWF será localizado na www.YourDomain.com/YourFlashFile.swf.

Em seguida, em seu index.html ou onde quer, ligar a localização acima para o seu iframe e ele será exibido em torno de seu conteúdo onde quer que você colocar o seu iframe. Se você pode colocar um iframe lá, você pode colocar um arquivo SWF lá. Faça as dimensões de iframe o mesmo que o seu arquivo SWF. No exemplo abaixo, o arquivo SWF é de 500 por 500.

código Pseudo:

<iframe src="//www.YourDomain.com/YourFlashFile.swf" width="500" height="500"></iframe>

A linha de código HTML acima irá inserir o seu arquivo SWF. Nenhuma outra confusão necessário. Prós: compatível com W3C, página de design amigável, sem problema de velocidade, abordagem minimalista.
Contras:. O espaço em branco em torno de seu arquivo SWF quando lançado em um navegador

Essa é uma resposta alternativa. Se é a resposta 'melhor' depende do seu projeto.

Eu sei que isto é uma questão de idade. Mas esta resposta vai ser bom para o presente.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>histo2</title>
        <style type="text/css" media="screen">
        html, body { height:100%; background-color: #ffff99;}
        body { margin:0; padding:0; overflow:hidden; }
        #flashContent { width:100%; height:100%; }
        </style>
    </head>
    <body>
        <div id="flashContent">
            <object type="application/x-shockwave-flash" data="histo2.swf" width="822" height="550" id="histo2" style="float: none; vertical-align:middle">
                <param name="movie" value="histo2.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#ffff99" />
                <param name="play" value="true" />
                <param name="loop" value="true" />
                <param name="wmode" value="window" />
                <param name="scale" value="showall" />
                <param name="menu" value="true" />
                <param name="devicefont" value="false" />
                <param name="salign" value="" />
                <param name="allowScriptAccess" value="sameDomain" />
                <a href="http://www.adobe.com/go/getflash">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                </a>
            </object>
        </div>
    </body>
</html>

Você pode usar JavaScript Se você está familiarizado com, assim:

swfobject.embedSWF("filename.swf", "Title", "width", "height", "9.0.0");

-. A 9.0.0 é a versão flash

Ou você pode usar a tag <object> de HTML5.

Isso funcionou para mim:

    <a target="_blank" href="{{ entity.link }}">
        <object type="application/x-shockwave-flash" data="{{ entity.file.path }}?clickTAG={{ entity.link }}" width="120" height="600" style="visibility: visible;">
            <param name="quality" value="high">
            <param name="play" value="true">
            <param name="LOOP" value="false">
            <param name="wmode" value="transparent">
            <param name="allowScriptAccess" value="true">
        </object>
    </a>

Thi obras no IE, Edge, Firefox, Safari e Chrome.

<object type="application/x-shockwave-flash" data="movie.swf" width="720" height="480">
            <param name="movie" value="movie.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#000000" />
            <param name="play" value="true" />
            <param name="loop" value="true" />
            <param name="wmode" value="window" />
            <param name="scale" value="showall" />
            <param name="menu" value="true" />
            <param name="devicefont" value="false" />
            <param name="salign" value="" />
            <param name="allowScriptAccess" value="sameDomain" />
            <a href="http://www.adobe.com/go/getflash">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
        </object>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top