HTML 페이지에 SWF 파일을 포함시키는 방법은 무엇입니까?


답변:


174

SWF를 HTML 페이지에 포함시키는 가장 좋은 방법은 SWFObject 를 사용하는 것 입니다.

Flash 컨텐츠를 포함하는 사용하기 쉽고 표준 친화적 인 간단한 오픈 소스 JavaScript 라이브러리입니다.

또한 플래시 플레이어 버전 감지 기능을 제공합니다. 사용자에게 필요한 Flash 버전이 없거나 JavaScript가 비활성화 된 경우 대체 내용이 표시됩니다. 이 라이브러리를 사용하여 Flash Player 업그레이드를 트리거 할 수도 있습니다. 사용자가 업그레이드되면 페이지로 다시 리디렉션됩니다.

설명서의 예 :

<!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>

이와 함께 사용하기에 좋은 도구는 SWFObject HTML 및 JavaScript 생성기 입니다. 기본적으로 SWFObject를 사용하여 Flash를 포함시키는 데 필요한 HTML 및 JavaScript를 생성합니다. 매개 변수를 입력 할 수있는 매우 간단한 UI가 제공됩니다.

강력하게 사용하는 것이 좋습니다.


11
SWFObject가 좋습니다. 간단하게 작동합니다. 더 멋진 아이디어는 콘텐츠 전달 네트워크를 사용하여 자바 스크립트를 얻는 것입니다. Google의 ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js를 사용합니다
— Ardee Aram

IE9에서 직접 객체 태그를 사용하는 데 문제가 있었지만 swfobject와 완벽하게 작동합니다.
— AndyMcKenna

답변 주셔서 감사합니다. 이제 HTML 자체의 실제 예제와 함께 재생 기능에 액세스 할 수있는 플레이어를 제안 할 수 있습니다. ????
— Sumit Ramteke

플래시 플레이어가 설치되어 있지 않거나 모든 브라우저를 지원하는 시스템에서 작동합니까?
— 모하메드 Javed

프로젝트는 이제 GitHub : github.com/swfobject/swfobject 로 옮겨졌으며 swf 객체를 포함하는 새로운 기술은 다음 과 같습니다.var el = document.getElementById("my-target-element"); swfobject.embedSWF("myContent.swf", el, 300, 120, 10);
— Lucky

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

1
이 코드는 XHTML-valid가 아닙니다 ... <embed>는 객체 태그 내에 있으면 안됩니다.
— Anheledir

59
사용자의 어떠한 사양은 XHTML이 유효하지 않습니다, 그는 HTML을 요청
— Ólafur Waage에게

3
이 기사에는 플래시 및 유효한 XHTML 삽입에 대한 좋은 설명이 있습니다. yoast.com/articles/valid-flash-embedding
— Joko Wandiro

3
<object> 요소 data에서 속성을 사용하지 않는 이유는 무엇입니까? w3c html5 문서에서 인용 : data 속성 또는 type 속성 중 하나 이상 이 존재 해야 합니다.
— vladkras

@JokoWandiro 제공 한 링크가 불행히도 사라졌습니다. 여기에 보관 된 버전입니다 : web.archive.org/web/20180602024700/https://yoast.com/...
— Hermann.Gruber

17

간단한 HTML5 태그 삽입은 어떻습니까?

<!DOCTYPE html>
<html>
<body>

<embed src="anim.swf">

</body>
</html>

13

루트 환경의 응용 프로그램에 적합합니다.

<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>

.swf 자체에 따라 추가 매개 변수를 추가하거나 추가 할 수 있습니다. embed , 객체 및 매개 변수 만 포함 되어 있지 않으므로 모든 곳에서 유효하고 작동하며 사용할 수 있습니다.! DOCTYPE은 모두 중요하지 않습니다. :)


8
<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>

2
object> data 및 movie> value 매개 변수는 동일합니다. 이 코드는 유튜브 비디오를 무료로보고 공유 할 수 있어야합니다.
— Spooky

3
일반적으로, 답변은 코드에 코드를 놓는 것보다 그들이 제공하는 코드를 설명하는 것이 바람직합니다. 목표는 문제에 대해 배우고 미래에 문제를 해결하는 대신 예방하는 것입니다.
— KRyan

7

이러한 js 라이브러리 중 하나를 사용하여 Flash를 삽입하는 경우 안에 일반 객체 포함 태그를 추가하는 것이 좋습니다 <noscript/>.



2

언급 한 바와 같이 SWF 객체는 훌륭합니다. UFO 도 살펴볼 가치가 있습니다.


2

이것은 작동합니다, 확실합니다!

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

1

'최상의'방법은 무엇입니까? '가장 효율적', '가장 빠른 렌더링'등과 같은 단어가 더 구체적입니다. 어쨌든, 나는 대부분의 시간 동안 나를 돕는 대체 답변을 제공하고 있습니다 ( '가장 좋은지 여부'는 관련이 없습니다).

다른 답변 : iframe을 사용하십시오.

즉, 서버에서 SWF 파일을 호스팅합니다. SWF 파일을 root 또는 public_html 폴더에 넣으면 SWF 파일이에 있습니다 www.YourDomain.com/YourFlashFile.swf.

그런 다음 index.html 또는 어디에서나 위의 위치를 ​​iframe에 연결하면 iframe을 넣을 때마다 콘텐츠 주위에 표시됩니다. 거기에 iframe을 넣을 수 있으면 SWF 파일을 넣을 수 있습니다. iframe 크기를 SWF 파일과 동일하게 만드십시오. 아래 예제에서 SWF 파일은 500 x 500입니다.

의사 코드 :

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

위의 HTML 코드 줄에 SWF 파일이 포함됩니다. 다른 혼란이 필요하지 않습니다. 장점 : W3C 호환, 페이지 디자인 친화적, 속도 문제 없음, 미니멀리스트 접근 방식.
단점 : 브라우저에서 시작할 때 SWF 파일 주위에 공백이 있습니다.

그것은 다른 대답입니다. '최상의'답변인지 여부는 프로젝트에 따라 다릅니다.


3
google @Stoic의 경우 잘못 //www...사용하여 죄송합니다 //. HTTPS 또는 HTTP에서 동일한 연결 유형을 사용하여 작동하는 경우
— Barkermn01

1

나는 이것이 오래된 질문이라는 것을 안다. 그러나이 답변은 현재로서는 좋을 것입니다.

<!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>

1

Thi는 IE, Edge, Firefox, Safari 및 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>

0

이것은 나를 위해 일했다 :

    <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>

0

<embed>요소를 사용하십시오 .

<embed src="file.swf" width="854" height="480"></embed>

-1

다음과 같이 익숙하다면 JavaScript를 사용할 수 있습니다.

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

-9.0.0은 플래시 버전입니다.

또는 <object>HTML5 태그를 사용할 수 있습니다 .


-1 swfobject는 JavaScript의 일부가 아니며 라이브러리를 포함하지 않고 호출 할 수 없습니다. <object> 태그의 기능은 대부분 HTML 4에서 5로 제거되었습니다. 여전히 사용할 수는 있지만 권장하지는 않습니다. 모두 매우 나쁜 대답입니다.
— rorypicko

당신은 이미 매우 나쁜 대답을 말하기 전에 그것을 시도 했습니까? 매우 나쁜 대답은 완전히 작동하지 않거나 틀린 대답이라는 점을 명심하십시오.
— Allan

누군가에게 자바 스크립트를 사용하도록 알리고, 심지어 언급하지 않은 자바 스크립트 라이브러리를 사용하여 코드를 붙여
— 넣는다

이미 Javascript를 사용하고 스크립트를 제공했다고 언급했습니다. 숟가락 수유를하는 전체 작업 코드 / 스크립트를 제공하면. 스크립트는 논리만으로는 충분합니다.
— Allan

당신은 내 의견을 오해하고 있습니다. 당신은 SWFObject 자바 스크립트 파일을 포함하도록 그에게 말하지 않았다
— rorypicko
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.