suchen
HeimWeb-FrontendHTML-TutorialDetaillierte Erläuterung von Beispielen für das Einbetten von Videos in HTML-Seiten und das Umschalten von Videos unter JS-Steuerung

In diesem Artikel wird ausführlich beschrieben, wie Sie Videos in HTML-Seiten einbetten und wie Sie JS zum Steuern des Videowechsels verwenden. Nachfolgend finden Sie weitere Informationen. Erstens lautet der HTML-Code zum Einbetten eines Videos in die Seite:

Der Code lautet wie folgt:

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


Dazu gehören die Objekt- und Einbettungs-Tags Wird gleichzeitig verwendet, um mit mehreren Browsern kompatibel zu sein. Achten Sie jedoch darauf, dass die gleichen Attributwerte unter beiden Tags konsistent bleiben.
PS: Eine Einführung und Verwendung der Tags und ihrer Attribute finden Sie im Artikel OBJECT- und EMBED-Tags.

Dann sprechen wir darüber, wie man JS verwendet, um die Adresse des eingebetteten Videos dynamisch zu ändern, um das nächste Video abzuspielen.
Zu diesem Zeitpunkt können viele Menschen sofort daran denken, Tag-Namen oder DOM-Methoden zu verwenden, um das Wertattribut des Param-Knotens und das SRC-Attribut des Einbettungsknotens zu finden, und die dynamische JS-Zuweisung zum Ändern der Adresse zu verwenden. Allerdings stellte der Test fest, dass die Videoadresse zwar ersetzt wurde, das auf der Seite angezeigte Video jedoch unverändert blieb, was rätselhaft war.

Es stellt sich heraus, dass alle Parameter des eingebetteten Objekts beim Laden der Seite initialisiert werden. Nur durch erneutes Laden kann der Wechsel zum nächsten Video durchgeführt werden. Eine einfache Änderung des Adressattributwerts ist nicht möglich . Genau wie bei einem Mitarbeiter des Unternehmens hat sich seine Adresse geändert (umgezogen), er ist immer noch der ursprüngliche Mitarbeiter und nicht jemand anderes.
Es gibt zwei Methoden, die ich oft verwende, um es neu zu laden (nehmen Sie den obigen Code als Beispiel):
① Verwenden Sie die obj.innerHTML-Methode von JS, um das gesamte Objektobjekt zurückzusetzen.

Der Code lautet wie folgt:

/*功能:动态切换视频*/ 
function setvideo(url){ 
var youku = document.getElementById("youku"); 
var htmlstr = "<object id=&#39;obx&#39; name=&#39;obx&#39; width=&#39;290&#39; height=&#39;260&#39;>"; 
htmlstr += "<param name=&#39;movie&#39; value=&#39;"+url+"&#39;></param>"; 
htmlstr += "<param name=&#39;allowFullScreen&#39; value=&#39;true&#39;></param>"; 
htmlstr += "<param name=&#39;allowscriptaccess&#39; value=&#39;always&#39;></param>"; 
htmlstr += "<param name=&#39;wmode&#39; value=&#39;opaque&#39;></param>"; 
htmlstr += "<embed src=&#39;"+url+"&#39; type=&#39;application/x-shockwave-flash&#39; allowscriptaccess=&#39;always&#39; allowfullscreen=&#39;true&#39; wmode=&#39;opaque&#39; width=&#39;290&#39; height=&#39;260&#39;></embed>"; 
htmlstr += "</object>"; 
youku.innerHTML = htmlstr; 
}


②Platzieren Sie einen Iframe im p-Container, damit die Seite im Iframe dynamisch aktualisiert werden kann, ohne den aktuellen Stand zu beeinträchtigen übergeordnete Seite.
Ich werde den spezifischen Code nicht schreiben. Die allgemeine Idee ist:
 1. Verwenden Sie die URL, um den Wert zu übergeben.
2. Die übergeordnete oder untergeordnete Seite erstellt eine versteckte Domäne, um die Adresse dynamisch zu speichern, damit die untergeordnete Seite sie erhalten kann.
 3. Verwenden Sie die Methode ①, um das Objektobjekt auf der Unterseite zurückzusetzen.
4. Andere Methoden wie window.open sind weit entfernt und werden nicht empfohlen.
Zu diesem Zeitpunkt wurden die Einbettung und Steuerung der Videoumschaltung erfolgreich implementiert. Aber versehentlich habe ich ein Problem entdeckt:
Wenn Sie nach dem Wechsel zu einem neuen Video auf „Aktualisieren“ klicken oder F5 drücken, um die Seite zu aktualisieren, wird ein Skriptfehler „fehlendes Objekt“ angezeigt. Ich habe den Fehlercode gefunden und festgestellt, dass es sich um einen internen Skriptfehler in Flash handelt:

function __flash__removeCallback(instance, name) {
instance[name] = null
}

Wenn auf der Seite Flash installiert ist und die flash.external.ExternalInterface.addCallback-Methode in Flash verwendet wird, wird beim Aktualisieren der Webseite ein js-Fehler von __flash__removeCallback gemeldet: fehlendes Objekt (Zeile 53), (Jscript-). Skriptblock). Der Aufrufort dieser Funktion ist:

__flash__removeCallback(document.getElementById(""), "dewprev");

Offensichtlich gibt document.getElementById("") hier null zurück __flash__removeCallback, um einen Fehler zu melden. Ich persönlich denke, dass die integrierte Methode von Flash wahrscheinlich so geschrieben werden sollte:

function __flash__removeCallback(instance, name) {
if (instance != null) { Instanz [name] = null ; }
}

Jemand hat getestet und festgestellt, dass document.getElementById("") hier das id/name-Attribut des Flash-Steuerungsobjekts abruft Da die ID nicht für das Attribut „Objekt/Name“ festgelegt ist, treten nach dem Festlegen keine Fehler auf. Aber tatsächlich haben alle meine Objekte ID-/Namensattribute, daher bin ich mit diesem Grund nicht einverstanden. Unter diesem Gesichtspunkt kann diese Methode zum Hinzufügen von ID/Namen die Probleme einiger Leute lösen, und dies ist nicht die einzige Ursache für dieses Problem.

Danach habe ich lange gesucht und schließlich auf einer ausländischen Website eine Lösung gefunden, die von einer Person namens Dave Smith geschrieben wurde. Ich habe einige Verbesserungen vorgenommen, um den Druck zu verringern auf der Seite, um kontinuierlich Code auszuführen. Der von ihm bereitgestellte Code lautet wie folgt:

Der Code lautet wie folgt:

<script type="text/javascript"> 
(function(){ 
  var setRemoveCallback = function(){ 
  __flash__removeCallback = function(instance, name){ 
      if (instance){ 
instance[name] =null; 
} 
}; 
window.setTimeout(setRemoveCallback, 10); 
}; 
setRemoveCallback(); 
})(); 
</script>


Was er meint, ist ungefähr: Das Umschreiben dieses Skripts in Flash kann das Problem lösen Problem, aber irgendwann nach dem Laden des Objektobjekts überschreibt das Skript in Flash die Funktion, die Sie neu geschrieben haben. Daher gibt es keine Garantie dafür, dass der Player die von Ihnen neu geschriebene Funktion zu gegebener Zeit aufruft. Um dieses Ziel zu erreichen, stellte er die Funktion so ein, dass sie alle 10 Millisekunden die im Flash bereitgestellte Funktion überschreibt. Dieses Problem ist gelöst. Gleichzeitig vereinfachte er diesen Code, um die folgenden zwei „Versionen“ zu bilden:
Vereinfachte Version eins: etwas einfacher

Der Code lautet wie folgt:

<script type="text/javascript"> 
  var setRemoveCallback = function() { 
__flash__removeCallback = function(instance, name) { 
       if(instance) { 
instance[name] = null; 
} 
}; 
window.setTimeout(setRemoveCallback, 10); 
}; 
setRemoveCallback(); 
</script>


Vereinfachte Version zwei: super einfach

Der Code lautet wie folgt:

<script type="text/javascript">(function(){var s=function(){__flash__removeCallback=function(i,n){if(i)i[n]=null;};window.setTimeout(s,10);};s();})();</script>


Ich habe eine Weile darüber nachgedacht und es rationalisiert :
Dieser Fehler wird aktualisiert. Die Seite wird generiert und der Vorgang der Seitenaktualisierung ist der Tod der alten Seite und das Neuladen der neuen Seite. Theoretisch wird es kein Problem geben, die neue Seite neu zu laden, daher tritt der Fehler in der „Nachsorge“-Arbeit auf, bevor die alte Seite stirbt. Ich kann den gleichen Zweck erreichen, solange ich die Rückruffunktion im Flash neu schreibe, bevor die Seite stirbt. Der Code lautet wie folgt und der Test besteht.

Der Code lautet wie folgt:

/*解决视频切换内部脚本错误*/ 
<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>

Für detailliertere Beispiele für die Videoeinbettung in HTML-Seiten und JS-Steuerungswechselvideos achten Sie bitte auf PHP-Chinesisch Website für verwandte Artikel!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Die Zukunft von HTML: Evolution und Trends im WebdesignDie Zukunft von HTML: Evolution und Trends im WebdesignApr 17, 2025 am 12:12 AM

Die Zukunft von HTML ist voller unendlicher Möglichkeiten. 1) Neue Funktionen und Standards umfassen mehr semantische Tags und die Beliebtheit von Webcomponenten. 2) Der Webdesign -Trend entwickelt sich weiterhin für reaktionsschnelles und zugängliches Design. 3) Die Leistungsoptimierung verbessert die Benutzererfahrung durch reaktionsschnelle Bildlade- und faulen Ladetechnologien.

HTML vs. CSS vs. JavaScript: Ein vergleichender ÜberblickHTML vs. CSS vs. JavaScript: Ein vergleichender ÜberblickApr 16, 2025 am 12:04 AM

Die Rollen von HTML, CSS und JavaScript in der Webentwicklung sind: HTML ist für die Inhaltsstruktur verantwortlich, CSS ist für den Stil verantwortlich und JavaScript ist für dynamisches Verhalten verantwortlich. 1. HTML definiert die Webseitenstruktur und den Inhalt durch Tags, um die Semantik zu gewährleisten. 2. CSS steuert den Webseitenstil über Selektoren und Attribute, um es schön und einfach zu lesen. 3. JavaScript steuert das Verhalten von Webseiten über Skripte, um dynamische und interaktive Funktionen zu erzielen.

HTML: Ist es eine Programmiersprache oder etwas anderes?HTML: Ist es eine Programmiersprache oder etwas anderes?Apr 15, 2025 am 12:13 AM

HtmlisnotaprogrammingLanguage; itiSamarkuplanguage.1) htmlstructuresandFormatswebcontentuses.2) itWorkswithCSSForstylingandjavaScriptForinteraktivität, EnhancingWebDevelopment.

HTML: Erstellen der Struktur von WebseitenHTML: Erstellen der Struktur von WebseitenApr 14, 2025 am 12:14 AM

HTML ist der Eckpfeiler der Erstellung von Webseitenstruktur. 1. HTML definiert die Inhaltsstruktur und die Semantik und Verwendung usw. Tags. 2. Stellen Sie semantische Marker wie usw. zur Verfügung, um den SEO -Effekt zu verbessern. 3. Um die Benutzerinteraktion durch Tags zu verwirklichen, achten Sie auf die Verifizierung der Form. 4. Verwenden Sie fortschrittliche Elemente wie in Kombination mit JavaScript, um dynamische Effekte zu erzielen. 5. Zu den häufigen Fehlern gehören nicht abgegebene Bezeichnungen und nicht geeignete Attributwerte, und Überprüfungstools sind erforderlich. 6. Optimierungsstrategien umfassen das Reduzieren von HTTP -Anforderungen, die Komprimierung von HTML, die Verwendung semantischer Tags usw.

Von Text zu Websites: Die Kraft von HTMLVon Text zu Websites: Die Kraft von HTMLApr 13, 2025 am 12:07 AM

HTML ist eine Sprache, mit der Webseiten erstellt, die Webseitenstruktur und -inhalt über Tags und Attribute definiert werden. 1) HTML organisiert die Dokumentstruktur über Tags, wie z. B.. 2) Der Browser analysiert HTML, um das DOM zu erstellen und die Webseite zu rendern. 3) Neue Merkmale von HTML5, wie z. B. Multimedia -Funktionen. 4) Zu den häufigen Fehlern gehören nicht abgestimmte Bezeichnungen und nicht geeignete Attributwerte. 5) Die Optimierungsvorschläge umfassen die Verwendung semantischer Tags und die Reduzierung der Dateigröße.

HTML, CSS und JavaScript verstehen: Ein AnfängerhandbuchHTML, CSS und JavaScript verstehen: Ein AnfängerhandbuchApr 12, 2025 am 12:02 AM

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

Die Rolle von HTML: Strukturierung von WebinhaltenDie Rolle von HTML: Strukturierung von WebinhaltenApr 11, 2025 am 12:12 AM

Die Rolle von HTML besteht darin, die Struktur und den Inhalt einer Webseite durch Tags und Attribute zu definieren. 1. HTML organisiert Inhalte über Tags wie das Lesen und Verständnis. 2. Verwenden Sie semantische Tags wie usw., um die Zugänglichkeit und SEO zu verbessern. 3. Optimierung des HTML -Codes kann die Ladegeschwindigkeit und die Benutzererfahrung der Webseite verbessern.

HTML und Code: Ein genauerer Blick auf die TerminologieHTML und Code: Ein genauerer Blick auf die TerminologieApr 10, 2025 am 09:28 AM

HtmlisaspecifictypeofcodeFocusedonstructuringuringwebcontent, während "Code" breitincludesluages ​​-ähnlichjavaScriptandpythonforfunctionality.1) htmldefineswebpageStructureStags.2) "Code" cometesaWiNrangeOfLanguagesForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForfirsInsForfunctionNacts

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft