Toon posts:

[Javascript] Functie werkt wel in FF/Opera, maar niet in IE

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo ik gebruik onderstaande functie om een media player object te creeren en (in mijn geval) in een div tag te plaatsen. Het gedeelte tot aan : // parameters toevoegen
werkt ook in IE prima. Het media player object wordt aangemaakt en in de div met id="playerHolder" geplaatst. Vervolgens worden echter nog een aantal parameters meegegeven met de functie addParam.
Dit gaat prima in Opera en FF, ik kan hier naar eigen voorkeur met behulp van de parameters bijvoorbeeld autostart en statusbar aan of uit zetten. Als ik hetzelfde in IE uittest dan werkt dit echter niet. Als ik onderstaande functie in IE draai (dus met autostart en statusbar op uit) dan krijg ik toch een statusbar en start de playback toch automatisch. Ook wanneer ik andere parameters probeer mee te geven dan pikt IE (6) dit niet op. Opera en FF interpreteren wel alle parameters die ik meegeef op de juiste manier. Heeft er iemand een verklaring waarom de functie addParam in IE6 niet werkt? Of beter nog iemand die de functie zodanig aan kan passen, zodat deze ook in IE werkt??

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function movieLoad(url) {
    player = document.createElement('object');
    player.id = 'player';
    if((navigator.appName.indexOf("Microsoft")>-1) || (navigator.appName.indexOf("MSIE")>-1)){
    }
    else {
        player.type = 'application/x-mplayer2';
        player.pluginspage = 'http://www.microsoft.com/Windows/MediaPlayer/download/default.asp';   
    }
    player.classid = 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6';
    player.width = '320';
    player.height = '240';
    if((navigator.appName.indexOf("Microsoft")>-1) || (navigator.appName.indexOf("MSIE")>-1)){
        player.url = url;}
    else {
        player.src = url;}

    // parameters toevoegen
    function addParam(param,val) {
        var par = document.createElement('param');
        par.name = param;
        par.value = val;
        player.appendChild(par);
    }

    if((navigator.appName.indexOf("Microsoft")>-1) || (navigator.appName.indexOf("MSIE")>-1)){
        addParam('url',url);}
    else {
        addParam('src',url);}
        
    addParam('AutoStart',0);
    addParam('showstatusbar',0);
    document.getElementById('playerHolder').appendChild(player);
}

  • Crayne
  • Registratie: Januari 2002
  • Laatst online: 17-03-2025

Crayne

Have face, will travel

En als je setAttribute gebruikt om de name en value attributes van je nieuwe <param> te zetten?

dus:

JavaScript:
1
2
par.setAttribute("name", param);
par.setAttribute("value", val);

Mijn Library Thing catalogus


Verwijderd

Topicstarter
Nee helaas, net even geprobeerd: precies hetzelfde resultaat. Het werkt wel in FF/opera, maar niet in IE |:(

  • Crayne
  • Registratie: Januari 2002
  • Laatst online: 17-03-2025

Crayne

Have face, will travel

Verwijderd schreef op vrijdag 18 augustus 2006 @ 12:57:
Nee helaas, net even geprobeerd: precies hetzelfde resultaat. Het werkt wel in FF/opera, maar niet in IE |:(
Heb je ergens een pagina die we kunnen bekijken?

Mijn Library Thing catalogus


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 01:50

RM-rf

1 2 3 4 5 7 6 8 9

haal die function addParam eens naar de global scope, en eventueel moet je daar ook de variabele player gewoon aan doorgeven als argument

JavaScript:
1
2
3
4
5
6
7
8
9
function movieLoad(url) {
    // blah 
}
function addParam(param,val, player ) {
        var par = document.createElement('param');
        par.name = param;
        par.value = val;
        player.appendChild(par);
}

[ Voor 48% gewijzigd door RM-rf op 18-08-2006 13:28 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

Topicstarter
@ RM-rf Doktersteam:

Ik heb je suggestie uitgeprobeerd, maar ik krijg hetzelfde resultaat. In FF werkt het wel, maar in IE nog steeds niet :'(

Iemand nog andere ideeen?

  • Crayne
  • Registratie: Januari 2002
  • Laatst online: 17-03-2025

Crayne

Have face, will travel

Nogmaals, heb je ergens een functionele pagina staan, zodat we zelf kunnen kijken? Zo is het zwaar onhandig.

Mijn Library Thing catalogus


Verwijderd

Topicstarter
Hoi,

Sorry dat ik er zo laat mee kom, ik heb even een testje online gezet: http://www.dynamicflow.nl/test/

Als je de pagina opent dat wordt het script meteen één keer gedraaid om een filmpje te laden. Achter de drie linkerplaatjes zitten links naar andere delen van het filmpje. In deze test haalt ie het oude object niet weg (uiteindelijk bouw ik dit natuurlijk ook in), maar dat maakt voor de test niet uit.

Als iemand een oplossing weet, heel graag!!

Verwijderd

Topicstarter
Eerder werd er om een online voorbeeld gevraagd, zoals te zien in mijn vorige post heb ik deze inmiddels online staan. Ik ben er zelf nog steeds niet uit 8)7
Zou er iemand voorzien van een stevige dosis JS kennis nog eens naar kunnen kijken??

Alvast bedankt!

Verwijderd

Topicstarter
Eerder werd er om een online voorbeeld gevraagd, zoals te zien in mijn vorige post heb ik deze inmiddels online staan. Ik ben er zelf nog steeds niet uit
Zou er iemand voorzien van een stevige dosis JS kennis nog eens naar kunnen kijken??

Alvast bedankt!
Pagina: 1