nrk.no

Videoløysinga har fått ny embedkode

Kategori: NRKbeta

video.nrkbeta.no tester ut en alternativ embed-kode

video.nrkbeta.no tester ut en alternativ embed-kode

Fra tid til annan har det oppstått problemer med embedding av videoer fra video.nrkbeta.no på eksterne blogger. Av ein eller annan merkelig grunn bestemmer WordPress seg i blant for å skrive om embed-koden vår, samt å HTML-enkode ampersands inne i FLASHVARS-attributten (& til & amp;). Dette fører til at JW Player blir forvirra, og embed-koden slutter rett og slett å fungere.

<script> til unnsetning

Den nye embed-koden er enkelt og greitt ei referanse til eit JavaScript som ligg på serveren vår (eksempel her), som vidare inkluderer SWFobject og til slutt spytter ut koden som trengs for å vise videoen.
Med andre ord, heile embed-koden kan sjå slik ut:
<script src="http://video.nrkbeta.no/embed_new/164.js" type="text/javascript"></script>
Ved å gå for denne metoden aukar sannsynet for at videoen blir korrekt avspelt, men vi treng fortsatt litt hjelp.

Testing

Vi har testa løysinga på fleire forskjellige blogger i løpet av dagen og gårsdagen, men vi skulle gjerne hatt litt feedback frå dykk, lesarane.

Om du har ein blogg, hadde vi satt stor pris på om du kunne testa den nye embed-koden, for å så linke til bloggposten din i kommentarfeltet.

Vi vil også gjerne ha litt innspel på eventuelle problemer de ser ved å inkludere JavaScript på denne måten. Vi veit at det er fleire system, for eksempel wordpress.com, som ikkje tillét brukarane å inkludere SCRIPT-elementer i innlegga, men der er det heller ikkje tillatt med verken OBJECT, EMBED eller PARAM, så der er vi uansett like langt. Er det andre populære bloggapplikasjoner som kjem til å skape liknande problemer for denne framgangsmåten?

Som ein sidenotis: Du har kanskje merka at serveren som køyrer videoløysinga har vore litt treig i det siste. Grunnen til dette er at boksen køyrer både tracker, seeder og videoløysinga, og dette blir i blant litt for mykje. Vi skal snart flytte tracker og seeder over på ein annan boks, og da vil video.nrkbeta.no oppføre seg som normalt igjen.

20 kommentarer

  1. Geir Arne Brevik

    Som en som utvikler publiseringsløsninger, er dette et interessant tema. Mitt ståsted er "nei til <script>". Å slippe til <script> i åpne inputs, som f.eks. kommentarfelter, gjør at man legger seg åpen for alt som JavaScript kan gjøre – og det er ikke lite. Å kjøre en rensker som filtrerer ut alt som er potenisell skummel JS-kode er ikke spesielt aktuelt.

    Det er en del skumle scenarier med å tillate <object> , <embed> og <param> også, men med html-rensking som tillater kun de nødvendigste argumenter, er det "trygt nok".

    Dessuten – og dette er ikke rent lite viktig – med object/embed/param vil YouTube, Vimeo og alle de andre største videotjenestene fungere som smurt. Og så lenge de virker, er jeg fornøyd. Sorry NRK. Dere bør følge de største i markedet.

    Svar på denne kommentaren

    • henriklied (NRK) (svar til Geir Arne Brevik)

      Eg forstår tankegangen din, Geir Arne, og eg er sjølv enig i at det er skummelt å tillate bruken av JavaScript i f.eks. kommentarer på ei side. No vil eg derimot påstå at lesergruppa til NRKbeta har den tekniske kompetansen til å forstå når dette er skummelt og ikkje, og som eit "sandkasseprosjekt" ser eg ikkje den store risikoen i å gå for denne framgangsmåten.

      Bruken av embedding via script byrjar også å ta seg opp andre plasser på nettet, blant anna bruker GitHub denne metoden, og det samme gjeld for Pastie. Eg trur vi kjem til å sjå fleire liknande løysinger framover.

      Ein annan positiv ting med denne metoden er at endringar i embed-koden blir pusha til videoer som allereie er embeddet. Det er for oss eit veldig stort pluss.

      Problemet som oppstod hos oss var, som eg skreiv i innleiinga i artikkelen, at WordPress skreiv om embed-kodene. Med dei pluginane vi har installert i JW Player vart det "påkrevd" å spesifisere object/embed/param-kodene i ei rekkefølge som WordPress i blant ville fikse, og dette skapte så problemer. Da er det vel betre med ei løysing som fungerer (samt validerer)?

      Men ja, viss det er stor misnøye til den nye embed-løysinga skal vi sjølvsagt legge ved den gamle som eit alternativ!

  2. Gerhard Sletten

    For de som lurer på hva .js filen gjør:

    document.write('<div id="nrkbeta_container_164"></div>');
    document.write('<p class="nrkbeta_video_text">');
    document.write('Se videoen på NRKbeta video – ');
    document.write('Direktelink til denne videoen');

    document.write('<script type="text/javascript" src="video.nrkbeta.no/media/flash_player/swfobject.js"></script>&#039;);
    document.write('<script type="text/javascript">');
    document.write('var s1 = new SWFObject("video.nrkbeta.no/media/flash_player/player.swf&quot;,"ply","512","347","9","#FFFFFF");');
    document.write('s1.addParam("allowfullscreen","true");');
    document.write('s1.addParam("allownetworking","all");');
    document.write('s1.addParam("allowscriptaccess","always");');
    document.write('s1.addParam("wmode", "transparent");');
    document.write('s1.addParam("flashvars","file=video.nrkbeta.no/media/filer/videofiler/ei
    document.write('s1.write("nrkbeta_container_164");');
    document.write('</script>');

    Svar på denne kommentaren

  3. henriklied (NRK)

    Ang. Å/Ã¥-problematikken: video.nrkbeta.no sender alltid UTF-8. Dette kan føre til problematikk viss ein ikkje koder om spesialteikn til entiteter. Eg har pusha endringa til serveren no, alt skal fungere som vanleg.

    Tusen hjerteleg takk for testinga! 😀

    Svar på denne kommentaren

Legg igjen en kommentar til henriklied Avbryt svar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *. Les vår personvernserklæring for informasjon om hvilke data vi lagrer om deg som kommenterer.