Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Drukowanie nowego okna
marcini82
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam!

Na dole strony mam odnosnik do druku:
  1. <script type="text/javascript">
  2.       function printWindow(){
  3.           var url="jakis_adres";
  4.           var oknoDruku = window.open(url, 'Drukuj', 'width=800, height=600, left=100, top=10, scrollbars=yes, resizable=yes');
  5.           return oknoDruku;
  6.       }
  7.   </script>
  8. </head>
  9. <!-- tu tresc strony -->
  10. <script type="text/javascript">
  11.        document.write('<a href="javascript: printWindow();">drukuj</a>');
  12. </body>
  13. </html>


Klikniecie powoduje wyswietlenie nowego okna z zawartoscia strony przygotowana do wydruku. I w nowym oknie mam:
Kod
<body onload="window.print()">

Ale zamiast wydruku dostaje blad na konsoli:
Kod
window.print is not a function

Dlaczego? Jak moge wydrukowac zawartosc tego wyskakujacego okna?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
^bmb
post
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 2
Dołączył: 12.12.2005

Ostrzeżenie: (0%)
-----


Hmm testowałem i u mnie wszystko ok (IE,FF,Opera).
Dodalem tylko przy hrefie void przy wywołaniu funkcji żeby nie zwracało do window.openera obiektu

Jak przekazujesz tresc strony do tego nowego okna ?Czy tam jest powiedzmy jakis artykuł na sztywniaka wstawiony? Czy jest to strona php do której GET-em przekazujesz jakies id strony? Może w tym jest problem?

Czy nie lepiej w jednym dokumencie zastosować w CSS media screen i media print?
http://www.w3schools.com/css/css_mediatypes.asp


--
Pozdrawiam
^bmb
Go to the top of the page
+Quote Post
marcini82
post
Post #3





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Dziwne, jak probuje na prostym przykladzie to dziala (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Zawartosc nowego okna jest produkowana przez skrypt php, do ktorego podaje przez $_GET URL strony do wydrukowania zakodowany przez base64. W skrypcie rozkodowuje ten URL i pobieram strone przy pomocy CURL-a i buforowania wyjscia:
  1. <?php
  2.  
  3. /**
  4.  * zwraca pelna zawartosc strony pobranej z podanego URL-a
  5.  */
  6. function pobierzURL($url){
  7. // create a new CURL resource
  8. $ch = curl_init();
  9. // set URL and other appropriate options
  10. curl_setopt($ch, CURLOPT_URL, $url);
  11. curl_setopt($ch, CURLOPT_HEADER, false);
  12. // start buffering
  13. // grab URL and pass it to the browser
  14. curl_exec($ch);
  15. // zapisanie tresci strony w zmiennej
  16. $tresc=ob_get_contents();
  17. // stop buffering
  18. // close CURL resource, and free up system resources
  19. curl_close($ch);
  20. return $tresc;
  21. }//end pobierzURL 
  22.  
  23. ?>

(probowalem zwykle include + buforowanie, ale nie wychodzilo). A ze zwroconej zmiennej wycinam to czego nie powinno byc na wydruku i wyswietlam w oknie. I nie mam pojecia dlaczego to sie nie chce drukowac...

CSS tez jest jakims wyjsciem, ale mam wrazenie ze taka metoda uzyskam lepszy efekt.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:54