link rel="alternate" alternatief...

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Malloot
  • Registratie: Maart 2005
  • Laatst online: 06-09 14:43

Malloot

bekijk eens wat anders

Topicstarter
Ik heb een pagina, en die moet mooi uit de printer rollen.
Nu zou ik dit kunnen doen:

code:
1
<link media="print" rel="stylesheet" href="print.css" type="text/css" />


Maar ik wil een alternatieve versie printen door met php bepaalde elementen zoals het menu weg te laten. Bovendien is niet alles op de pagina tegelijk te zien, wat ik bij de print versie gedeeltelijk wel wil. Dus ik probeerde dit:
code:
1
<link media="print" rel="alternate" href="print.php" type="text/css" >


Maar dat blijkt alleen in IE te werken.. Maar er staat nergens, ook niet op W3schools.com, dat dit alleen in IE kan. En dan luidt de vraag dus: Is er een andere vergelijkbare manier om dit te doen die wel crossbrowser is?

Acties:
  • 0 Henk 'm!

Verwijderd

Je kan met css toch ook delen van de pagina (zoals het menu) weglaten?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

Euh, print.php serveert hopelijk nog wel gewoon een stylesheet he, en niet een HTML pagina?
.edit: oh wacht, ik zie nu pas de rel="alternate" staan. Wellicht wil je het document type dus ook aanpassen ;)

[ Voor 46% gewijzigd door .oisyn op 14-10-2009 18:02 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Aganim
  • Registratie: Oktober 2006
  • Laatst online: 12:02

Aganim

I have a cunning plan..

Sowieso kan het geen kwaad om kritisch te zijn met wat op W3schools.com staat. Ik ben daar in het verleden vaker dingen tegengekomen die niet 100% correct waren.

Heb je al gekeken of de output van print.php wel valide .css code is? Aangezien je nu aangeeft dat de output een stylesheet zou moeten zijn, door type="text/css".

Edit: ik zal volgende keer sneller typen.. :p

[ Voor 6% gewijzigd door Aganim op 14-10-2009 17:58 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik snap je vraag waarschijnlijk niet helemaal, maar je probleem zit 'm geheid in de content type waarmee print.php de output serveert. Die zal wel text/html zijn ofzo en je wil natuurlijk text/css hebben ;)


/edit
zooooooooo :P Toen ik 't tabje 20 minuten geleden open zette was er nog geen reactie :X

[ Voor 19% gewijzigd door RobIII op 14-10-2009 18:13 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Als je het goed doet kun je het met een stylesheet al bereiken. Het is heel normaal om complete navigatiestructuren in een print stylesheet weg te laten d.m.v. display: none;

[edit]
@andere mensen: Natuurlijk is het wel HTML wat via die alternatieve pagina wordt geserveerd. Er staat "alternate", niet "alternate stylesheet". Probleem is dat als het geen stylesheet is er dus inderdaad geen type="text/css" hoort te staan.

Maar in dit geval gaat het volgens mij gewoon om weergave, dus is "alternate" sowieso fout. Gewoon een print stylesheet moet normaal gesproken voldoende zijn, tenzij je echt totaal andere dingen wilt weergeven dan op het scherm.

[ Voor 58% gewijzigd door Verwijderd op 14-10-2009 18:19 ]


Acties:
  • 0 Henk 'm!

  • Malloot
  • Registratie: Maart 2005
  • Laatst online: 06-09 14:43

Malloot

bekijk eens wat anders

Topicstarter
Ik wil een alternatieve php (html dus) pagina printen, niet een andere stylesheet laden.

De website werkt met twee of drie tabs, en de content van die drie tabs wil ik bij het printen allemaal tonen.

Intussen ga ik het nog eens proberen met display:none en display:inline. Maar dan zou ik ook extra div's aan moeten maken voor bijvoorbeeld een alternatieve versie van het logo (backgrounds worden niet geprint) en die verbergen in de normale stylesheet..

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Met Cheatah, in feite display:none ik altijd alles behalve de content zelf in de printversie (menu's, footers en eventuele zoekboxen/banners). Ik zou het dan ook eerder daarin zoeken dan een andere pagina renderen, makkelijker bij te houden ook ivm. wijzigingen.

edit: die tabs kun je gewoon met CSS tonen, ik zie t probleem niet.

[ Voor 11% gewijzigd door Cartman! op 14-10-2009 18:21 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Malloot schreef op woensdag 14 oktober 2009 @ 18:18:

Intussen ga ik het nog eens proberen met display:none en display:inline. Maar dan zou ik ook extra div's aan moeten maken voor bijvoorbeeld een alternatieve versie van het logo (backgrounds worden niet geprint) en die verbergen in de normale stylesheet..
Dat klopt, en is overigens niet heel ongewoon. Het probleem is inderdaad dat browsers backgrounds met standaardinstellingen niet willen printen. Zelfs niet met @media print of media="print".

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Daar gebruik je juist een andere css voor.

Wat je op je screen hidden maakt (voor de tabs), moet je met de print-css juist visible maken.

HTML:
1
<link rel="stylesheet" href="print.css" type="text/css" />


Maar je kan dat ook in je normale CSS opnemen trouwens, hoeft niet perse een apparte te zijn. Hierdoor hoef je dus ook geen andere html te laten zien, omdat je in de CSS bepaald wat er geprint of niet geprint moet worden.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • Malloot
  • Registratie: Maart 2005
  • Laatst online: 06-09 14:43

Malloot

bekijk eens wat anders

Topicstarter
Het probleem is dat ik voor de tabs display:none gebruik. Als ik dat in de stylesheet zelf bepaal overschrijft dat het script voor de tabs. Als ik dan op een andere tab klik verdwijnt de content. Daarom moet ik in de div zelf style="display:none" zetten. En dat overschrijft de externe css weer...

Nog te volgen? :P

Ik kan het tabs-script evt. hier plaatsen..

edit
@Cartman!: Qua wijzigen van een pagina is een printer-versie van de pagina niet meer werk omdat de content uit andere php elementen komt.

[ Voor 16% gewijzigd door Malloot op 14-10-2009 18:48 ]


Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Script??? Dat doe je met CSS

Je kan dus prima op 1 pagina 3 tabs zetten, en met CSS (of zoals jij het met javascript doet) toggelen tussen de 3 tabs..

Prima, geen enkel punt..

Maar als je dan in je print-stylesheet alles op visible zet, print ie gewoon alles. Daar is dus ook de print-css voor.

Je moet het jezelf niet moeilijk maken als het ook makkelijk kan.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Malloot schreef op woensdag 14 oktober 2009 @ 18:45:
Het probleem is dat ik voor de tabs display:none gebruik. Als ik dat in de stylesheet zelf bepaal overschrijft dat het script voor de tabs. Als ik dan op een andere tab klik verdwijnt de content. Daarom moet ik in de div zelf style="display:none" zetten. En dat overschrijft de externe css weer...

Nog te volgen? :P

Ik kan het tabs-script evt. hier plaatsen..

edit
@Cartman!: Qua wijzigen van een pagina is een printer-versie van de pagina niet meer werk omdat de content uit andere php elementen komt.
Lijkt me niet wanneer je bepaalde properties !important meegeeft. Dan lijkt me dat bij het printen die eigenschappen niet meer overschreven worden.
Lijkt me knap als je de behaviour van tabs in een stylesheet kan zetten ;)

Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 16-09 13:49

Patriot

Fulltime #whatpulsert

RaZ schreef op woensdag 14 oktober 2009 @ 18:48:
Script??? Dat doe je met CSS

Je kan dus prima op 1 pagina 3 tabs zetten, en met CSS (of zoals jij het met javascript doet) toggelen tussen de 3 tabs..
Hoe wilde je dat dan gaan doen met alleen CSS?

edit:
@hierboven: grr :P

[ Voor 4% gewijzigd door Patriot op 14-10-2009 18:54 ]


Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Whoops... suckerfish + klok + klepel = brainfart.... Ignore me... 8)7

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • Malloot
  • Registratie: Maart 2005
  • Laatst online: 06-09 14:43

Malloot

bekijk eens wat anders

Topicstarter
Hee, die !important kende ik nog niet.
Dan is een deel van het probleem iig. opgelost..

Thanks, als iemand nog een alternatief weet om toch een aparte pagina te laden hoor ik het graag. :)
Pagina: 1