'Invalid argument' met appendChild in MSIE

Pagina: 1
Acties:

  • Johnny
  • Registratie: December 2001
  • Laatst online: 01-12 14:49

Johnny

ondergewaardeerde internetguru

Topicstarter
Ikprobeer doormiddel van JavaScript een actie een afbeelding te laten zien in een ander frame. Het stuk code werkt probleemloos in Firefox, Opera en Safari.

Er wordt een nieuw image-emlement aangemaakt met de volgende attributen welke dan wordt doorgestuurd naar de functie setImage in een ander frame.

JavaScript:
1
2
3
4
5
6
7
8
        var image = document.createElement('IMG');
        image.id = id;
        image.alt = '';
        image.src = 'image.preview.php?id='+id;
        image.lowsrc = thumb.lastChild.src;
        image.width = width;
        image.height = height;
        parent.frames['viewer'].setImage(image);


Die functie ziet er als volgt uit, alles gaat goed tot regel 10 waar appendChild wordt gebruikt, daar kapt MSIE 6 er er mee met de melding 'Invalid argument'.

Het object viewer is een leeg div-element wat gewoon toegankelijk is. Het weghalen van image-attributen lijkt geen effect te hebben.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
function setImage(img) {
    
    image = img;
    originalImage = new cloneObject(img);
    
    clearViewer();
    
    image.ondblclick = function() {zoom();};

    viewer.appendChild(image);

    scaleImage();
}


Met welke MSIE-bug heb ik nu weer te maken?

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

probeer het eens met:
JavaScript:
1
var image = parent.frames['viewer'].document.createElement('img');

dan hoef je ook niet te klonen.
Als alternatief zou je setImage ook zelf de image aan kunnen laten maken binnen de scope van je framed document.

[ Voor 51% gewijzigd door crisp op 11-05-2007 14:11 ]

Intentionally left blank


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Kijk eens naar cloneNode.

  • Johnny
  • Registratie: December 2001
  • Laatst online: 01-12 14:49

Johnny

ondergewaardeerde internetguru

Topicstarter
Crisps oplossing werkte, ik moest alleen wel het object image een andere naam geven omdat het anders in de weg ging zitten met de image in het andere frame.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.