[JS] JS-gegenereerde pagina opslaan: geen images?

Pagina: 1
Acties:
  • 193 views sinds 30-01-2008
  • Reageer

  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Hey allen,

Ik ben bezig met een webpagina waarmee men door foto's kan zoeken aan de hand van bepaalde criteria. De gevonden foto's worden vervolgens in een tweede venster getoond.

Nu is het zo dat ik de inhoud van dat tweede venster dynamisch creeer d.m.v. window.open() en document.write() statements. Dit werkt allemaal prima, en ook als ik in IE de broncode van dit document bekijk, dan bevat het precies hetgeen wat ik naar dit venster heb toegeschreven. Dit schrijven gebeurt zo:
JavaScript:
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
    var header ="<html>" +
                "  <head>" +
                "    <title>Mijn foto's</title>" +
                "    <link href=\"filter.css\" rel=\"stylesheet\" type=\"text/css\">" +
                "  </head>" +
                "  <body>" +
                "" +
                "    <table align=\"center\">";
    var footer ="    </table>" +
                "" +
                "  </body>" +
                "</html>";

    var contents = "";
    for(image_index = 0; image_index < image_arr.length; image_index++)
    {
        var image_filename = image_arr[image_index];
        var description = g_tags_by_image[image_filename];

        contents +=
            "      <tr><td>" +
            "        <img width=\"750px\" src=\"" + g_image_dir + image_filename + "\" alt=\"" + description + "\"><br />" +
            "        <span class=\"description\">" + description + "</span>" +
            "        <p />" +
            "      </td></tr>";
    }


    var image_window = window.open('', "image_window");

    image_window.document.write(header + contents + footer);
    image_window.focus();


Echter, als ik nu vanuit IE ervoor kies om de volledige webpagina op te slaan (Bestand, Opslaan als, type Webpagina volledig), dan wordt wel de html opgeslagen en de stylesheets waarnaar ik verwijs, maar niet de foto's die in deze webpagina getoond worden. En dat laatste wil ik nu juist wel. (Ter info, ik gebruik IE 6.0).

Weet iemand waarom IE dit doet, en hoe ik 'm zover krijg dat hij toch die afbeeldingen meeneemt tijdens het opslaan?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:27

crisp

Devver

Pixelated

Ik zou sowieso nog even een
JavaScript:
1
image_window.document.close();

toevoegen. Of dat je probleem oplost weet ik niet, maar met IE is alles mogelijk :P

Intentionally left blank


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
crisp schreef op zondag 03 juni 2007 @ 14:33:
Ik zou sowieso nog even een
JavaScript:
1
image_window.document.close();

toevoegen. Of dat je probleem oplost weet ik niet, maar met IE is alles mogelijk :P
Dit lijkt helaas geen effect te hebben.

Ik heb het trouwens ook onder FireFox uitgeprobeerd, en daarin worden afbeeldingen wel gewoon opgeslagen (zoals je zou mogen verwachten). Dus blijkbaar doet IE iets niet helemaal goed... :?

  • Zr40
  • Registratie: Juli 2000
  • Niet online

Zr40

Moderator General Chat

heeft native IPv6

Gebruik je absolute paden naar je foto's? Een Javascript-gegenereerde pagina heeft natuurlijk geen base URL, waardoor relatieve paden zinloos zijn.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
Zr40 schreef op maandag 04 juni 2007 @ 09:06:
Gebruik je absolute paden naar je foto's? Een Javascript-gegenereerde pagina heeft natuurlijk geen base URL, waardoor relatieve paden zinloos zijn.
is dat zo?

volgens mij zou dit namelijk gewoon moeten werken. (het werkt iig wel wanneer je relatieve paden dmv JS toevoegd aan een bestaande html pagina)

anders kan je misschien <base href=""> invullen. echter wil IE daar ook wel eens neit naar luisteren


@TS:
wat jouw probleem binnen 2 seconden kan oplossen is webdeveloper toolbar. Dit is een firefox extentie waarmee je de gegenereerde html door een druk op de knop kan laten zien.
Dan kan je precies zien of de uri's van de plaatjes wel kloppen.

[ Voor 34% gewijzigd door BasieP op 04-06-2007 09:16 ]

This message was sent on 100% recyclable electrons.


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
@Zr40 & BasieP:

Bedankt voor jullie tips. Ik ben eens in die hoek gaan vlooien, maar het mocht allemaal niet baten :'(
  • Ik heb zowel relatieve als absolute paden geprobeerd, maar beiden geven hetzelfde effect: FF wil de images wel opslaan, IE neemt ze niet mee. Zowel IE als FF tonen de images wel, overigens, dus de fout lijkt niet in de link te zitten, anders werden de afbeeldingen ook niet afgebeeld.
  • Ik heb de images op het lokale filesystem staan, dus ik heb eens geprobeerd of het verschil zou maken wanneer ik de images vanaf een webserver zou lezen. Helaas, gedrag is precies hetzelfde.
  • Het viel me op dat het DOM document een 'images' array member had, waarin alle afbeeldingen van de betreffende pagina worden opgeslagen. Helaas, ook deze blijkt gewoon gevuld bij een JS-gegenereerde pagina.
  • Omdat de source van de gegenereerde pagina gewoon te bekijken is, heb ik de source in een teksteditor geplakt en opgeslagen als 'echt' html-bestand op mijn filesysteem. En als ik de inhoud van die pagina opsla, dan neemt 'ie de afbeeldingen wel mee...
'k snap er niks meer van...

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 30-11 21:13

--MeAngry--

aka Qonstrukt

Komt op mij over als een IE-specifieke bug. Probeer de pagina eens helemaal middels het DOM te genereren.

Tesla Model Y RWD (2024)

Pagina: 1