Como você incorpora um arquivo SWF em uma página HTML?
A melhor abordagem para incorporar um SWF em uma página HTML é usar SWFObject .
É uma biblioteca JavaScript de código-fonte aberto simples que é um método fácil de usar e compatível com padrões para incorporar conteúdo em Flash.
Ele também oferece detecção de versão do Flash player. Se o usuário não possuir a versão do Flash necessária ou o JavaScript estiver desativado, ele verá um conteúdo alternativo. Você também pode usar esta biblioteca para acionar uma atualização do Flash player. Após a atualização, o usuário será redirecionado de volta à 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 a ser usada junto com isso é o gerador de SWFObject HTML e JavaScript . Basicamente, gera o HTML e o JavaScript necessários para incorporar o Flash usando o SWFObject. Vem com uma interface muito simples para você inserir seus parâmetros.
É altamente recomendado e muito simples de usar.
var el = document.getElementById("my-target-element"); swfobject.embedSWF("myContent.swf", el, 300, 120, 10);
fonte
data
atributo no elemento <object> ? Citação de w3c html5 docs: pelo menos um dos atributos de dados ou de tipo deve estar presente.Que tal uma simples tag HTML5 incorporada?
fonte
Isso é adequado para aplicativos do ambiente raiz.
Parâmetros adicionais devem ser / podem ser adicionados, dependendo de .swf. Sem incorporação , apenas objetos e parâmetros, portanto, permanece válido, funcionando e utilizável em qualquer lugar, não importa qual! DOCTYPE tem tudo a ver. :)
fonte
fonte
Se você estiver usando uma dessas bibliotecas js para inserir o Flash, sugiro adicionar a tag embed de objeto simples dentro de
<noscript/>
.fonte
Eu uso http://wiltgen.net/objecty/ , ajuda a incorporar conteúdo de mídia e evita o problema do "clique para ativar" do IE.
fonte
Como mencionado, o SWF Object é ótimo. OVNI vale a pena dar uma olhada também
fonte
Este vai funcionar, tenho certeza!
fonte
Qual é a melhor maneira? Palavras como 'mais eficiente', 'renderização mais rápida' etc. são mais específicas. De qualquer forma, estou oferecendo uma resposta alternativa que me ajuda na maior parte do tempo (se é ou não 'melhor' é irrelevante).
Resposta alternativa: use um iframe.
Ou seja, hospede o arquivo SWF no servidor. Se você colocar o arquivo SWF na pasta raiz ou public_html, o arquivo SWF estará localizado em
www.YourDomain.com/YourFlashFile.swf
.Em seguida, no seu index.html ou em qualquer outro lugar, vincule o local acima ao seu iframe e ele será exibido em todo o seu conteúdo onde quer que você coloque o seu iframe. Se você pode colocar um iframe lá, pode colocar um arquivo SWF lá. Torne as dimensões do iframe iguais ao seu arquivo SWF. No exemplo abaixo, o arquivo SWF é de 500 por 500.
Pseudo-código:
A linha do código HTML acima incorporará seu arquivo SWF. Nenhuma outra bagunça é necessária. Prós: compatível com W3C, design de página amigável, sem problemas de velocidade, abordagem minimalista.
Contras: espaço em branco ao redor do arquivo SWF quando iniciado em um navegador.
Essa é uma resposta alternativa. Se é a melhor resposta, depende do seu projeto.
fonte
//www...
usar//
meios que se o seu em HTTPS ou HTTP funciona usando o mesmo tipo de conexãoEu sei que esta é uma pergunta antiga. Mas essa resposta será boa para o presente.
fonte
Thi funciona no IE, Edge, Firefox, Safari e Chrome.
fonte
Isso funcionou para mim:
fonte
Use o
<embed>
elemento:fonte
Você pode usar JavaScript se estiver familiarizado, assim:
--o 9.0.0 é a versão flash.
Ou você pode usar a
<object>
tag HTML5.fonte