Printproblemen HTML-mail

Pagina: 1
Acties:

  • OzBoz
  • Registratie: Maart 2000
  • Laatst online: 17-08 13:58

OzBoz

.:.H.:.I.:.P.:.

Topicstarter
Ik heb voor een klant een template gemaakt zodat ze intern HTML-mail kunnen versturen. De beelden staan op een server somewhere op internet en die worden bij het ontvangen van de mail opgeroepen.

Het probleem is als volgt, bij het printen van de HTML-email worden bij sommige PC's alle images vervangen door een fijn broken-image icon. Duister since het op andere PCees wel goed gaat en de e-mail ook gewoon goed op het scherm staat.

Waar kan het aan liggen, de PC's bij de klant gebruiken IE5.5 en Outlook2000 en die combi gaat hier intern wel goed bij sommige PC's. Nog vreemder, een nieuwbrief die verstuurd wordt via een apart bureau maar waarbij de images ook op een server staan, print wel goed bij ze.

Wie helpt.. alvast dank! _/-\o_

My Fizion | My 3D prints | LinkedIn


  • OzBoz
  • Registratie: Maart 2000
  • Laatst online: 17-08 13:58

OzBoz

.:.H.:.I.:.P.:.

Topicstarter
Het lijkt er mee te maken te hebben dat wanneer je de printopdracht te snel geeft, voor het laatste beeld binnen is, alle images als broken icons worden geprint.

Maar wellicht dat iemand verder nog wat zinnigs te melden heeft vandaar dit fijne schopje.

My Fizion | My 3D prints | LinkedIn


Verwijderd

OzBoz schreef op 06 augustus 2002 @ 11:47:
Het lijkt er mee te maken te hebben dat wanneer je de printopdracht te snel geeft, voor het laatste beeld binnen is, alle images als broken icons worden geprint.

Maar wellicht dat iemand verder nog wat zinnigs te melden heeft vandaar dit fijne schopje.

Aha, maar als nu blijkt dat het alleen goed gaat als de afbeeldingen al binnen zijn, dan kun je hier natuurlijk een javascriptje voor schrijven, zodat als er op het print knopje wordt gedrukt, eerst de plaatjes nog worden opgehaald. En pas als alle afbeeldingen binnen zijn kun je window.print() aanroepen.

Het nadeel is dat dit niet werkt als mensen op de print knop van hun browser drukken. Je zult dus een print button/linkje op je pagina's moeten zetten.

Om het printen te triggeren, kun je met een loopje alle images afgaan via de document.images array, en kijken of alle afbeeldingen al geladen zijn. Hetzelfde principe als een preload scriptje dus.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
function doCheck() {
  for (i = 0; i < document.images.length; i++) {
    if (!document.images[i].complete) return;
  }
  window.print();
}

function doPrint() {
  for (i = 0; i < document.images.length; i++) {
    document.images[i].onload = doCheck;
  }
  doCheck();
}

Nu hoef je alleen nog maar een button of linkje met onclick="doPrint();" te maken, en eventueel een melding dat er geprint gaat worden zodra de afbeeldingen binnen zijn.
Niet iedereen zal blij zijn met een nieuwsbrief met javascript misschien, maar dit zou in principe moeten werken, ik heb het niet getest :)

[edit]
En dan zul je natuurlijk net zien dat je mail client geen javascript toelaat. Nou ja, dat is misschien maar beter ook trouwens ...