2010-04-05 19 views

Odpowiedz

-2

Pomyśl o problemach/zakłopotanie zabezpieczeń istniałby, gdyby to było możliwe. Na szczęście przeglądarki nie pozwalają na to.

Najbliższym, jakie można uzyskać, jest pobranie strony za pośrednictwem AJAX, zastąpienie bieżącego DOM nową stroną i drukowanie za pomocą normalnej metody drukowania() JS.

+0

Nie jest to łatwy sposób mówienia o początkującym, co jest kwestią bezpieczeństwa? –

+0

@phpBOY - Problem polega na tym, że niedojrzali właściciele witryn drukują porno strony internetowe, gdy tego nie oczekujesz. –

16

wiem its stare pytanie, ale można to zrobić tak:

function printExternal(url) { 
    var printWindow = window.open(url, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0'); 
    printWindow.addEventListener('load', function(){ 
     printWindow.print(); 
     printWindow.close(); 
    }, true); 
} 

Testowany w Firefox i Chrome. IE9 nie działa.

+0

Chciałbym bardzo podziękować. Ta sztuczka działa dla mnie. To naprawdę pomaga w trybie kiosku w chrome .. –

+0

Ta metoda działa, ale przekierowuje moją stronę główną do strony indeksu. – iamsmug

+1

W przeglądarce Chrome 55.0.2883.59 odradza się okno, nie drukuje, a następnie zamyka. – TheRealJAG

6

Alternatywą jest link do strony ze zmienną pobierania, a następnie wywołanie funkcji drukowania.

Dla linku -

<a href="print-page.php?print=1">Print other page</a> 

Następnie na swojej stronie wydruku (lub wszystkich stron)

<script type="text/javascript"> 
<? if(isset($_GET['print'])) { ?> 
window.print(); 
<? } ?> 
</script> 
+0

Chociaż twoja odpowiedź wygląda jak dobre rozwiązanie, lepiej nie odpowiadać na wątki, które nie były aktywne przez kilka lat. – ndsmyter

+10

Dlaczego nie? Szukałem rozwiązania, znalazłem ten wątek. Opracowałem własne rozwiązanie i mam nadzieję, że to pomoże komuś innemu ... – sebtucknott

+0

Tak, to jest teraz 2017, a Google zaprowadziło mnie tutaj. To była dokładna odpowiedź, której szukałem. – Jay

8

Jeśli masz już stronę zewnętrzną (letterprint.php), umieścić tę stronę w ukrytym iframe i wydrukuj zawartość elementu iframe za pomocą atrybutu onclick w przycisku.

<iframe src="letterprint.php" style="display:none;" name="frame"></iframe> 

<input type="button" onclick="frames['frame'].print()" value="printletter"> 
+0

To działało świetnie dla mnie! –

Powiązane problemy