Autor | Zpráva | ||
---|---|---|---|
petey Profil |
#1 · Zasláno: 23. 1. 2013, 16:29:27
Ahoj všem, potřeboval bych poradit s window:print.
Rád bych vytvořil odkaz, který vyvolá tisk určité stránky aniž by ji pro uživatele viditelně otvíral. Zkrátka jen vyvolat nabídku tisku odkazované stránky a zůstat na stávající. Nápady na provedení? |
||
Luky Profil |
#2 · Zasláno: 23. 1. 2013, 16:44:30
Prohlížeče tisknou vždy jen aktuálně zobrazené stránky (nevytiskne nic za uživatelovými zády). Tvé řešení je nejideálnější udělat tak, že odkážeš na stránku kterou chceš vytisknout (do nového okna) stránku připravit třeba jako onload print a po skončení akce okno zavřít. Žádný jiný normální způsob mě nenapadá. Ale uživatel by měl vždy vidět co tiskne.
|
||
_es Profil |
#3 · Zasláno: 24. 1. 2013, 09:43:07
petey:
„odkaz, který vyvolá tisk určité stránky aniž by ji pro uživatele viditelně otvíral.“ Nezdá sa mi nápad, že si mám niečo vytlačiť a neviem, čo to je. Na to, aby sa stránka mohla vytlačiť, musí byť v prehliadači nejako načítaná. Možno by sa to nejako dalo cez skrytý či zakrytý iframe .
|
||
petey Profil |
#4 · Zasláno: 24. 1. 2013, 21:35:39
_es:
Je to účelné. Jde o intranetovou aplikaci, která má za úkol ze servisní karty vytisknout protokol zákazníkovi a štítek na servisované zařízení - data se vyplňují automaticky a uživatel tam již nic nemění Proto tedy ta snaha o vynechání "zbytečného" kroku. Luky: Podobně už to mám ( target="_blank" u odkazu a <body onLoad="javascript:printPage();"> v otevřeném okně). Jen bych potřeboval pomoct s JS. Četl jsem na diskuzích, že je nutné otevírat stránku javascriptem.
Nyní mám v otevřené stránce script: <script> function printPage() { window.print() }window.onAfterPrint=window.Close() </script> Nějakou hrubou funkci jsem ťuknul jsem: www.robertnovak.cz |
||
_es Profil |
#5 · Zasláno: 25. 1. 2013, 07:07:26
petey:
Však vyskúšaj postup s tým iframe. Do iframe môžeš načítať stránku aj obyčajným odkazom, stačí mať rovnaké name v iframe a target v odkaze, alebo aj v JS - netreba stránku načítať do celého okna, aby sa dala tlačiť. Udalosť onAfterPrint v niektorých prehliadačoch nefunguje: developer.mozilla.org/en-US/docs/DOM/window.onafterprint
„ze servisní karty vytisknout protokol zákazníkovi a štítek na servisované zařízení“ Nebude na takýto účel vadiť, že rôzne prehliadače okolo vytlačeného textu vkladajú rôzne hlavičky ako adresa stránky, dátum a čas, title stránky a pod.? Okrem toho sa to dá v prehliadačoch aj inak nastaviť.
|
||
Luky Profil |
#6 · Zasláno: 25. 1. 2013, 17:25:22
Mohl jsem to trochu upřesnit. Jak říká _es onAfterPrint funguje jen v IE a ve Firefoxu.
Pokud umíš v jQuery, tak vhodné řešení je zde: http://stackoverflow.com/questions/9893888/using-onafterprint-in-chrome-safari Funkce printIt je zavolána po vytisknutí (nebo zrušení) tisku. Ale rozhodně se ti nikdy nepovede tisknout nic za uživatelovými zády. Vždy bude nejdříve dotázán jak a jestli vůbec chce dokument tisknout. |
||
Časová prodleva: 11 let
|
0