Toon posts:

[JS]Mozilla problemen getElementById i.c.m. stylesheet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Raar probleem waar ik zo snel niet uit kan komen.

als eerste de source
HTML:
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
35
36
37
38
39
<html>
<head>
<script type="text/javascript">
imageviewer = function()
{
    showimg = window.open("", "imageViewer", "toolbar=no, location=no, menubar=no, scrollbars=no, status=no, top=0, left=0, width=712, height=534");    
    showimg.focus();

    showimg.document.write("<html>");
    showimg.document.write("<head>");
    showimg.document.write("    <title>DeVrolijkeFietser.nl - Imageviewer</title>");
    showimg.document.write("    <link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />");
    showimg.document.write("</head>");  
    showimg.document.write("<body>");
    showimg.document.write("    <div id=\"header\">")
    showimg.document.write("        <p>www.vrolijkefietser.nl</p>")
    showimg.document.write("    </div>");
    showimg.document.write("    <table id=\"imageviewer\">");
    showimg.document.write("    <tr>");
    showimg.document.write("        <td>");
    showimg.document.write("            <div id=\"image\">Plaatje wordt geladen...</div>");
    showimg.document.write("        </td>");
    showimg.document.write("    </tr>");
    showimg.document.write("    </table>");
    showimg.document.write("</body>");
    showimg.document.write("</html>");
    showimg.document.close();       

    if(ell = showimg.document.getElementById("image"))
        alert(ell.innerHTML);
    else
        alert("owjee");
}
</script>
</head>
<body>
    <input type="button" onclick="imageviewer()" value="klik" />
</body>
</html>


Bovenstaande code genereert een popup en schrijft er wat tekst in. Nadat de popup is geschreven wil ik het element "image" ophalen. In Internet Explorer werkt dit wel voor de verandering. In FireFox werkt dit echter niet. Ik weet ook waar het probleem ligt. Het komt doordat ik ook een stylesheet laad in de popup. Als ik deze regel weglaat dan werkt het wel gewoon (raar maar waar).

Ik kan natuurlijk de styles gewoon in de popup plaatsen, maar dat vind ik vrij onhandig

Weten jullie zo een oplossing??

linkjes
met stylesheet: http://www.jnwmedia.nl/vrolijk/test.php
zonder stylesheet: http://www.jnwmedia.nl/vrolijk/test2.php

  • Cartman!
  • Registratie: April 2000
  • Niet online
Waarom maak je niet een aparte html en laat je die openen ipv dat je die binnen javascript zit te maken? Lijkt me qua overzicht voor jezelf een stuk handiger. Ik verwacht dat je probleem ook opgelost is dan.

Verwijderd

Topicstarter
helaas werkt het dan ook nog niet. Het probleem is denk ik dat de pagina nog aan het laden is als ik het element wil benaderen. Hoe zou ik kunnen kijken of een pagina klaar is met laden?

  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

<body onload="functie_om_element_te_benaderen();">

  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08-2025
Het werkt niet omdat je je popup als text uitschrijft.
document.getElementById heeft een DOM structuur nodig en die heb je niet. Daarom vind Firefox dus geen image.

Je moet dus of de aanroep veranderen of wekrne met createElement, appendChild etc. Zie http://developer.mozilla.org/en/docs/Gecko_DOM_Reference

[ Voor 3% gewijzigd door Justice op 20-04-2006 15:56 ]

Human Bobby