2017-04-25 6 views
0

Ich versuche, eine Funktion zu schaffen, in JavaScript, um die ein Video HTML-Element zu erstellen, und die Quelle zu erhalten, indem ein Quellelementes von einer anderen Web-Seite abrufenFetch ein HTML-Element von externer Seite mit Javascript

Ich habe andere Fragen mit Antworten mit jQuery oder etwas Ajax-Zeug gesehen, aber niemand erklärt sich selbst, also kann ich nur kopieren und einfügen, was auch immer sie sagen, und eine Fehlermeldung bekommen, dass "$" undefiniert ist (ich bin ziemlich neu) Javascript, wenn du es nicht sagen konntest. Habe noch keine Ajax oder Jquery benutzt).

function loadSource(url){ 
    var vid = document.getElementById("vid"); 
    var src = <get source element with id "mp4Source" from the specified url> 
    vid.appendChild(src); 
} 
+0

Lesen Sie die Dokumentation: http://api.jquery.com/jquery.ajax/ es ist ziemlich einfach zu bedienen. – Gerardo

Antwort

1

Der Grund, warum Sie $ als undefiniert sind immer ist, weil Sie die JQuery-Bibliothek hinzugefügt haben.

Es ist eine gute Frage, die erklärt, wie Setup here

Above Ihr JavaScript zu erhalten, müssen Sie die JQuery-Bibliothek enthalten.

Beispiel dafür, wie die JQuery-Bibliothek

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 

für das externe Videoelement Laden zu schließen, müssen Sie eine AJAX-Anforderung an die URL das Element enthält, machen. AJAX ist eine Möglichkeit, asynchrone HTTP-Anforderungen, z. Anfragen, die an eine URL gestellt werden, ohne die Webseite zu aktualisieren.

Beispiel dafür, wie AJAX kann verwendet werden, HTML von einer externen URL auf AJAX

function loadSource(url){ 
    $.ajax({ 
     url: "<URL containing the HTML>", 
    }) 
    .done(function(html) { 
     $("#vid").append(html); // append the html to the element with the ID 'vid' 
    }); 
} 

Weitere Informationen finden Sie unter http://api.jquery.com/jquery.ajax/ gefunden

Sie auch in die Grundlagen von JQuery aussehen sollte sein zu ziehen, wie zum Beispiel here suchen. Ein Beispiel dafür, wie dies in Ihrem Code verwendet werden könnte, besteht darin, document.getElementById("vid") durch $("#vid") zu ersetzen.

+0

In der Done-Funktion, ist der HTML-Parameter die gesamte HTML der URL gegeben? Wenn ja, kann ich konkret ein Element herausziehen, das eine ID gibt, so wie ich es mit dem aktuellen Dokument kann? Oder muss ich String-Funktionen verwenden, um die benötigten Informationen zu extrahieren? Oder wäre es möglich, die Ergebnisse in dem Objekt zu filtern, das der Ajax-Funktion zugeführt wird? – JereTheJuggler

+0

Ja, 'html' ist ein String, der den gesamten HTML-Code enthält, der auf' gefunden wurde. Sie könnten String-Funktionen verwenden, um ein bestimmtes Element zu entfernen, z. B. http://stackoverflow.com/questions/14867835/get-substring-between-two-characters-using-javascript. Sobald Sie JQuery besser verstanden haben, können Sie etwas wie $ (# vid) verwenden. Engste (). Aber das geht über den Rahmen dieser Frage hinaus. –

+0

Nun, da ich die jquery src zu meinem Skript-Tag hinzugefügt habe, bekomme ich Fehler, dass meine anderen Funktionen nicht definiert sind, wenn sie es sind. Wenn ich versuche, es in 2 Skript-Tags zu zerlegen, 1 für alle meine anderen Funktionen und 1 für die Jquery, kann ich die jquery-Funktion nicht mehr referenzieren. – JereTheJuggler

Verwandte Themen