ubuntuusers.de

Javascript/Bookmarklet: Eingebundene YouTube-Videos ohne Flash

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.10 (Maverick Meerkat)
Antworten |

Funatiker

Anmeldungsdatum:
24. November 2007

Beiträge: 123

Wohnort: Pirmasens

Da mich die CPU-Last des Flashplayers stört, ich aber nicht zu jedem eingebundenen YouTube-Video per Hand den Link zusammensetzen möchte, um es direkt auf youtube.com mit dem html5-Player zu sehen, habe ich ein kleines Javascript/Bookmarklet geschrieben. Es ersetzt alle eingebundenen YouTube-Flashvideos durch iframe/html5-basierten Einbett-Code. Hierbei wird außerdem https verwendet, um die YouTube-Cookies vor FireSheep (o.Ä.) zu verbergen. Die URL des iFrame hat zusätzlich den Parameter html5=1, um die Verwendung von <video> zu erzwingen. Bislang habe ich den Code nur in Chromium getestet. Über Erfahrungsberichte von Firefox4-Nutzern würde ich mich freuen. Eingebundene YouTube-Videos flashfrei anzeigen

1
2
//komprimierte Variante für handliches Einfügen/Bookmarken
var o=document.getElementsByTagName("object");var f,u,I;for(var i=0;i<o.length;){u=o[i].getElementsByTagName("embed")[0].src;if(u.indexOf("://www.youtube.com/v/")>0){f=document.createElement("iframe");f.width=o[i].width;f.height=o[i].height;f.setAttribute("frameborder",0);I=u.indexOf("?");f.src="https://www.youtube.com/embed/"+u.substring(u.indexOf("/v/")+3,(I==-1)?u.indexOf("&"):I)+"?html5=1";o[i].parentElement.replaceChild(f,o[i]);}else{i++;}}

posti

Anmeldungsdatum:
30. März 2009

Beiträge: 2087

Hi

Wie binde ich das Teil im FF ein, wie bediene ich Es?

Kannst Du dazu ein kleines ToDo anfertigen?

MfG

Funatiker

(Themenstarter)

Anmeldungsdatum:
24. November 2007

Beiträge: 123

Wohnort: Pirmasens

Du kannst den Code aus dem Beitrag entweder in die Javascript-Konsole (gern auch in die von Firebug) einfügen und mit Enter ausführen. Dann werden die Videos auf der Seite entsprechend behandelt. Die andere Möglichkeit wäre, ein Lesezeichen zu erstellen, desssen Adresse auf javascript: gefolgt vom Code aus dem Beitrag besteht. Klickst du dieses Lesezeichen dann an, modifiziert es eben die Videos.

//edit: Das Script funktionierte bislang nicht in Firefox, weil parentElement verwendet wurde. Ich habe das jetzt durch parentNode ersetzt. Nun Läuft es im Firefox. neue Version

1
2
3
//Version für Firefox
//komprimierte Variante für handliches Einfügen/Bookmarken
var o=document.getElementsByTagName("object");var f,u,I;for(var i=0;i<o.length;){u=o[i].getElementsByTagName("embed")[0].src;if(u.indexOf("://www.youtube.com/v/")>0){f=document.createElement("iframe");f.width=o[i].width;f.height=o[i].height;f.setAttribute("frameborder",0);I=u.indexOf("?");f.src="https://www.youtube.com/embed/"+u.substring(u.indexOf("/v/")+3,(I==-1)?u.indexOf("&"):I)+"?html5=1";o[i].parentNode.replaceChild(f,o[i]);}else{i++;}}void(0);
Antworten |