> 웹 프론트엔드 > HTML 튜토리얼 > html에 내장된 플래시 html 웹페이지 코드에 플래시 파일을 삽입하는 솔루션(1부) _HTML/Xhtml_웹페이지 제작

html에 내장된 플래시 html 웹페이지 코드에 플래시 파일을 삽입하는 솔루션(1부) _HTML/Xhtml_웹페이지 제작

WBOY
풀어 주다: 2016-05-16 16:40:34
원래의
1561명이 탐색했습니다.

음력 1월 15일 이전에 새해를 축하하는 것은 중국 사람들의 풍습입니다. 여기서 저는 정원에 있는 여러분의 새해 복 많이 받으세요.
요 며칠 회사 홈페이지 개편이 필요했는데, 지난해 말 회사의 '인력 감축' 이후 한 사람이 여러 사람의 일을 해야 하는데 갑자기 부담이 되는 것 같아요. 무겁다. 아니, 이건 내 업무 범위에 속하는 일이 아니다. 불행하게도 나는 그것에 참여하게 되었다. 불행 중 다행스럽게도 이번에 BOSS에서 나에게 할당된 작업은 바로 내가 항상 열정을 쏟았던 프론트엔드 개발 작업이었다. . 저는 이전에 회사 웹 사이트의 백엔드 관리 프로그램 개발에 참여해 왔으며 주로 서버 측에서 비즈니스 로직을 처리했습니다. 저는 제 기술을 프런트엔드 개발에 활용할 기회가 없었는데, 이는 열정적입니다. 에 대한. 실제 지식을 테스트하는 가장 좋은 방법은 연습입니다. 나에게 할당된 실무 과제를 해결하는 것은 드문 테스트입니다. 책과 다양한 자료를 통해 많은 지식을 배웠지만 종합 테스트를 받을 기회는 얻지 못했습니다.” 하하. 앞면에 잉크얼룩이 너무 많아요. 오랫동안 눌렀기 때문이거든요, 하하.

먼저 작업 요구사항을 설명하겠습니다. 회사 홈페이지에 5개의 공으로 구성된 JPG 사진이 있습니다. 각 공의 텍스트를 클릭하면 해당 정보가 열립니다. 보조 페이지에는 이미지에 해당하는 거의 동일한 플래시 버전이 있습니다. 상사가 나에게 할당한 작업 중 하나는 클라이언트 브라우저에 Flash 파일 플레이어가 설치되어 있으면 Flash 버전의 탐색이 표시되고 그 반대의 경우 JPG 이미지 탐색이 표시된다는 것입니다. 작업을 받은 후 잠시 생각해보세요. 물론 프런트엔드 개발에서는 브라우저 호환성 문제를 고려해야 합니다. 다행히도 브라우저 간의 격차를 해소하는 가장 좋은 방법은 하나 이상의 성숙한 JavaScript 프레임워크를 사용하는 것입니다. SWFObject.js라는 매우 성숙하고 정교한 JS 프레임워크가 존재합니다.

SWFObject.js를 처음 접한 것은 V1.5였는데, 이번에는 V2.1을 사용하여 문제를 해결했습니다. 둘의 사용에는 여전히 약간의 차이가 있습니다. 전반적으로 V2.1은 V1.5에 비해 큰 발전을 이뤘다고 생각합니다. V2.1은 프레임워크의 소스 코드와 사용 프로세스 측면에서 객체 지향 JavaScript 프로그래밍 스타일에 더 가깝습니다.

저처럼 JavaScript를 처음 접한 연구자의 관점에서 이 "고된" 여정을 경험해 보도록 하겠습니다. 코딩하시는 분들, 제발 자비를 베풀어 주시고, 제 생각의 근시안적인 부분과 제가 쓴 글의 오류를 문명적으로 지적해 주실 수 있기를 바라겠습니다.

다음 코드는 SWFObject V1.5 문서에서 적용한 사용 예입니다(V1.5에 대해 자세히 알아보려면 이 링크를 클릭하세요).

코드 복사
코드는 다음과 같습니다.


DEMO< /title> <br><head> <br><script type="text/javascript" src="swfobject_source.js"></script> <br><script type="text/javascript" > <br>var so = new SWFObject("http://www.pec365.com/Flash/20071113.swf", "mymovie", "304", "367", "7", "#FFFFFF") ; <br>so.write("flashcontent") <br></head> <br><form id="Form1"> 🎜> <div id="flashcontent"> <br><a href="http://www.adobe.com/go/getflashplayer"> <br><img src="http:// www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Adobe Flash 플레이어 다운로드" border="0" /> <br></a> <br></div> <br>< ;/form> <br></body> <br></html><br>SWFObject()의 각 매개변수의 의미를 간략하게 이해하려면 설명서를 참조하세요. 여기서는 반복하지 않겠습니다. <br>"V1.5 사용 예"의 코드를 메모장에 복사하고 SWFObject V1.5를 클릭하여 필요한 V1.5 프레임워크의 소스 파일을 다운로드하는 것이 좋습니다. 압축을 푼 후 swfobject_source.js(압축 해제됨)를 찾으세요. 버전의 경우 압축 버전의 파일 이름은 swfobject.js) 파일이므로 메모장 파일 이름을 deco.html로 변경하고 swfobject_source.js 파일과 동일한 폴더에 배치한 다음 IE6/IE7 및 fox에 각각 설치하십시오. , 오페라, 사파리, 네비게이터, 크롬 등 어떤 브라우저에서든 실행하고 결과를 확인해보세요. <br>내 제안을 따르면 <img style="max-width:90%" alt="" style="max-width:90%" border="0" src="http://files.jb51.net/file_images/article/201301/2013010416185572.gif"> 이 사진이 플래시 파일 대신 페이지에 표시된다는 것을 알 수 있습니다. PC에 IE 시리즈가 설치되어 있는 경우 다음 단계를 따르십시오. IE 브라우저 아이콘을 클릭하고 도구 모음에서 "도구" 메뉴를 찾아 "인터넷 옵션"을 선택한 후 나타나는 창에서 "고급"을 클릭하십시오. 가 열리면 "스크립트 디버깅 비활성화(Internet Explorer)" 옵션을 찾아 앞에 있는 상자를 선택 취소하고 "확인"을 클릭합니다. 위 작업을 완료한 후 데모.html 페이지를 다시 탐색하면 다음과 같은 오류 메시지가 나타나는 오류 프롬프트 상자가 나타납니다. "런타임 오류가 발생했습니다. 디버그해야 합니까? 줄: 117 오류: 'null '는 비어 있거나 객체가 아닙니다.” <br><br>개발을 위해 VS 2003/2005/2008 IDE 시리즈를 사용한다면 JavaScript 코드를 디버그하는 방법을 가르쳐줄 필요가 없습니다. can var so = 위... 디버거를 열고 디버그하고 추적하면 so.write() 메서드를 통해 swfobject_source.js 파일 내부를 추적할 때까지 F11을 계속 누릅니다. so.write(elementId)에 전달된 flashcontent"가 문서에 있습니다. .getElementById("flashcontent")의 값은 항상 null입니다. 이유는 무엇입니까? 문제를 찾았나요? <br><br>하하, 아직 JavaScript에 대해 잘 모르는 초보자라면 그 당시의 저처럼 혼란스러울 것입니다. 여러 번 코드를 디버깅하고 수정한 후에는 JS 코드 자체에는 오류가 없습니다. 외부에서 로드한 swfobject_source.js 파일에 문제가 있는 걸까요? 문제가 있는 경우 어디에 문제가 있습니까? 당시 오류에 대한 해결책을 찾다가 위의 코드를 다음 예시로 수정했습니다: <br><br><div class="msgheader"> <div class="right"><span style="CURSOR: pointer" onclick="copycode(getid('phpcode34'));"><u>코드 복사</u></span></div>코드는 다음과 같습니다. </div> <div class="msgborder" id="phpcode34"> <br><html> <br><title>DEMO
/javascript">
// 익명 함수 실행은 일반 함수 실행과 다르지 않습니다
(function() {
var flash = document.getElementById("flashcontent");
var msg = null;
window.onload = function() {
if ( flash ) {
msg = '요소가 존재합니다.'
flash.innerHTML =
} else {
msg = '요소가 존재하지 않습니다';
window.alert( msg )
}
})(); >



Adobe Flash 플레이어 다운로드

< /form>

위 코드를 실행하면 페이지에 이 사진이 계속 표시되는 걸 볼 수 있고 "요소가 존재하지 않습니다"라는 경고창이 뜨는데 문제가 발생하지 않은 것 같습니다. swfobject_source.js 파일을 통해.

이것을 보시면 분명 그때의 답답함을 느끼실 겁니다. 조금 쉬다가 정신을 차리고 뒤를 돌아보니 문제의 본질은 "HTML DOM 로딩"에 있었습니다. ". 페이지에서 페이지 헤드(즉, 사이)에 있는 JS 스크립트와 외부 파일에서 로드된 JS 파일은 HTML DOM이 실제로 구성되기 전에 실행됩니다. 따라서 이 두 곳에서 실행되는 스크립트는 아직 존재하지 않는 DOM에 접근할 수 없습니다. 실제 이유를 알아야 합니다. 예제 1.1의 JS 코드를 실행하는 동안 아직 생성되지 않은
...




코드 복사
코드는 다음과 같습니다.
DEMO
"text/javascript" src="swfobject_source.js"> _fcksavedurl=""swfobject_source.js">"



최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿