[JS] IE wijzigt innerHTML van Flash OBJECT tag

Pagina: 1
Acties:

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Topicstarter
Om een gedeelte van een pagina over te hevelen naar een popup venster wilde ik de betreffende node (plus childs) clonen en daarna appenden aan de body van de popup.

In het kort:
code:
1
2
3
4
5
// copy
var theNode = document.getElementById(sElementId).cloneNode(true);

// paste (w is het window object van de popup)
w.document.getElementsByTagName("BODY")[0].appendChild(theNode);


Werkt perfect in MOZ. Maar helaas niet in IE, die geeft namelijk een "No such interface supported" foutmelding. Enig zoekwerk op google brengt me niet veel verder en onder druk van een deadline gaan de principes maar even (tijdelijk) overboord en wilde ik terugvallen op het kopieren van de innerHTML.

In het kort:
code:
1
2
3
4
5
// de kopie
var theHtml = document.getElementById(sElementId).innerHTML;

// en wederom in de popup plempen
w.document.write("<html></body>", theHtml, "</body></html>");


Werkt wederom perfect in MOZ en nu ook in IE..... Maarrr... helaas niet helemaal :'(
Wanneer in de gekopieerde html een Flash movie voorkomt dan raakt IE de weg kwijt. De innerHTML van de OBJECT tag bevat ineens PARAM tags die in de originele code niet voorkomen en/of deze bevatten een andere waarde. Waarbij voor mij het grootste probleem is dat de FlashVars leeg zijn, m'n movies krijgen nu niet de juiste data aangeleverd en worden dus niet correct getoond.

In m'n laatste poging (voor vanavond ;)) gebruik ik de 2e methode waarbij ik onload van de popup
  1. alle Flash movies naloop in de gegenereerde popup,
  2. deze OBJECT elementen clone zonder childs
  3. de bijbehorende PARAM childs uit de opener ophaal (getElementsByTagName)
  4. middels createElement de PARAM's aanmaak in de popop en de name en value overneem uit de originele PARAM
  5. deze nieuwe PARAM's via appendChild toevoeg aan de clone van de Flash movie
  6. het originele object vervang door het nieuwe object.
Dit lost het probleem op in IE, maar nu werkt MOZ niet meer 8)7

Een combinatie van deze probeersels zal uiteindelijk dus nog wel een oplossing gaan bieden hoop ik. Maar al met al begint het, in eerste instantie, redelijke simpele idee natuurlijk wel steeds ranziger te worden :D

Dus vroeg ik me af of iemand iets dergelijks ooit is tegengekomen. Doe ik iets gruwelijk fout? Zijn er makkelijkere oplossingen? I'm running out of options.

Today's subliminal thought is: