HTML 페이지에 비디오를 삽입하고 JS 제어 하에서 비디오를 전환하는 예에 대한 자세한 설명
이 글에서는 HTML 페이지에 동영상을 삽입하는 방법과 JS를 사용하여 동영상 전환을 제어하는 방법을 자세히 소개합니다. 자세한 내용은 아래를 참조하세요.
먼저, 페이지에 동영상을 삽입하기 위한 HTML 코드는
코드는 다음과 같습니다.
<p id="youku" class="youku"> <object id="obx" name="obx" width="290" height="260"> <param name="movie" value="http://www.tudou.com/v/6HJvxxkarzk/&resourceId=0_04_11_19/v.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="allowscriptaccess" value="always"></param> <param name="wmode" value="opaque"></param> <embed src="http://www.tudou.com/v/6HJvxxkarzk/&resourceId=0_04_11_19/v.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="290" height="260"></embed> </object> </p>
그 중 object 및 embed 태그는 에서 사용됩니다. 동시에 더 많은 브라우저와 호환되지만 두 태그에서 동일한 속성 값을 일관되게 유지하도록 주의하시기 바랍니다.
PS:
코드는 다음과 같습니다.
/*功能:动态切换视频*/ function setvideo(url){ var youku = document.getElementById("youku"); var htmlstr = "<object id='obx' name='obx' width='290' height='260'>"; htmlstr += "<param name='movie' value='"+url+"'></param>"; htmlstr += "<param name='allowFullScreen' value='true'></param>"; htmlstr += "<param name='allowscriptaccess' value='always'></param>"; htmlstr += "<param name='wmode' value='opaque'></param>"; htmlstr += "<embed src='"+url+"' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' wmode='opaque' width='290' height='260'></embed>"; htmlstr += "</object>"; youku.innerHTML = htmlstr; }
②p 컨테이너에 iframe을 배치하여 현재 상위 페이지에 영향을 주지 않고 iframe의 페이지를 동적으로 새로 고칠 수 있도록 합니다. .
구체적인 코드는 작성하지 않겠습니다.
1. URL을 사용하여 값을 전달합니다.
2. 상위 페이지 또는 하위 페이지는 숨겨진 도메인을 생성하여 하위 페이지가 획득할 주소를 동적으로 저장합니다.
3. 서브 페이지에서 개체 개체를 재설정하려면 ① 방법을 사용하십시오.
4. window.open과 같은 다른 방법은 거리가 멀고 권장되지 않습니다.
이 시점에서 비디오 전환 삽입 및 제어가 성공적으로 구현되었습니다. 그런데 우연히 문제를 발견했습니다.
새 동영상으로 전환한 후 어떤 방식으로든 새로고침을 클릭하거나 F5를 눌러 페이지를 새로고침하면 '개체 누락' 스크립트 오류가 팝업됩니다. 오류 코드를 발견했는데 Flash의 내부 스크립트 오류였습니다.
function __flash__removeCallback(instance, name) {
instance[name] =
}
Flash가 설치된 페이지에서 사용되는 경우 flash.external.ExternalInterface.addCallback 메서드가 Flash에서 사용됩니다. 웹 페이지를 새로 고칠 때 __flash__removeCallback의 js 오류가 보고됩니다. 객체 누락(53행), (Jscript- 스크립트 블록). 이 함수의 호출 위치는 다음과 같습니다.
__flash__removeCallback(document.getElementById(""), "dewprev");
분명히 document.getElementById("")는 여기서 null을 반환합니다. __flash__removeCallback을 사용하여 오류를 보고합니다. 저는 개인적으로 플래시의 내장 메서드를 다음과 같이 작성해야 한다고 생각합니다.
function __flash__removeCallback(instance, name) {
if (instance != null) { 인스턴스 [name] = null }
}
여기서 document.getElementById("")가 플래시 컨트롤 개체의 id/name 속성을 가져오기 위한 것임을 테스트한 결과 이 오류가 발생했습니다. Object./name 속성에 ID가 설정되어 있지 않기 때문에 설정 후 오류가 발생하지 않습니다. 그러나 사실 내 모든 개체에는 id/name 속성이 있으므로 이러한 이유에 동의하지 않습니다. 이러한 관점에서 볼 때, 이 ID/이름을 추가하는 방법은 일부 사람들의 문제를 해결할 수 있으며 이것이 이 문제의 유일한 원인은 아닙니다.
그 후 오랫동안 열심히 검색한 결과 마침내 외국 웹사이트에서 해결책을 찾았습니다. Dave Smith라는 사람이 작성한 것입니다. 그의 코드를 기반으로 몇 가지 개선을 하여 부담을 줄였습니다. 페이지에서 지속적으로 코드를 실행합니다. 그가 제공한 코드는 다음과 같습니다.
코드는 다음과 같습니다.
<script type="text/javascript"> (function(){ var setRemoveCallback = function(){ __flash__removeCallback = function(instance, name){ if (instance){ instance[name] =null; } }; window.setTimeout(setRemoveCallback, 10); }; setRemoveCallback(); })(); </script>
그가 기본적으로 의미하는 바는 이 스크립트를 플래시 내부에서 다시 작성하면 현재 문제를 해결할 수 있다는 것입니다. 하지만 객체가 로드되면 플래시 내부의 스크립트가 다시 작성한 함수를 덮어쓰게 됩니다. 따라서 때가 되면 플레이어가 다시 작성한 함수를 호출할 것이라는 보장이 없습니다. 이 목표를 달성하기 위해 그는 10밀리초마다 플래시 내부에 제공되는 기능을 재정의하는 기능을 설정했습니다. 이 문제는 해결되었습니다. 동시에 그는 이 코드를 단순화하여 다음 두 가지 "버전"을 형성했습니다.
단순화된 버전 1: 약간 단순화
코드는 다음과 같습니다:
<script type="text/javascript"> var setRemoveCallback = function() { __flash__removeCallback = function(instance, name) { if(instance) { instance[name] = null; } }; window.setTimeout(setRemoveCallback, 10); }; setRemoveCallback(); </script>
Simplified version 2: Super simple
코드는 다음과 같습니다.
<script type="text/javascript">(function(){var s=function(){__flash__removeCallback=function(i,n){if(i)i[n]=null;};window.setTimeout(s,10);};s();})();</script>
잠깐 생각하고 합리화했습니다.
이것은 페이지를 새로 고칠 때 오류가 발생했습니다. 페이지 새로 고침 과정은 이전 페이지가 종료되고 새 페이지가 다시 로드되는 것입니다. 이론적으로는 새 페이지를 다시 로드하는 데 문제가 없으므로 이전 페이지가 죽기 전에 "사후 관리" 작업에서 오류가 발생합니다. 페이지가 종료되기 전에 플래시 내부에 콜백 함수를 다시 작성하면 동일한 목적을 달성할 수 있습니다. 코드는 다음과 같으며 테스트가 통과됩니다.
코드는 다음과 같습니다.
/*解决视频切换内部脚本错误*/ <script type="text/javascript"> function endcall(){var s=function(){__flash__removeCallback=function(i,n){if(i)i[n]=null;};window.setTimeout(s,10);};s();} window.onbeforeunload = endcall; </script>
HTML 페이지 삽입 동영상 및 JS 컨트롤 전환 동영상 예시에 대한 자세한 예시는 PHP 중국어 웹사이트를 참고하세요. 관련 기사!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.
