2015-07-01 27 views
10

Bir onclick bağlantısı Safari kullanırken yazdırma yöntemi pencerede çalışmıyor. Bir web sayfası baskısına sahip olmanın alternatifi, bir butona yerleştirilen onclick kodu ile safari içinde? Oluşan diğer bir tuhaf davranış, pencereyi kapatıp kapattığımda, tarayıcıya özgü yazdırma iletişim kutusunun belirmesidir.window.print(); Safari'de çalışmaz

+0

Yinelenen: http://stackoverflow.com/questions/23626998/safari-print-issue-with-javascript-window-print – HaukurHaf

+0

Tıklamam işleyici işlevi (basitleştirilmiş) şuna benzer Onun baskı yöntemi değil, safari – ODelibalta

+0

içinde işe yaramazsa, bu tıklama işlevi artık o çözüm çalışmıyor – fauverism

cevap

0

window.print() ile sorun yok Safari. Üzgünüm, Windows işletim sistemi üzerinde çalışıyorum ama kod MacOS ile benim için çalışıyor takip edemedim: Ben Safari tarayıcı olup (tüm diğerleri) ile benzer bir sorun bakıyordu

<!DOCTYPE html> 
<html> 
<body> 
    <button onclick="myFunction()">Click me</button> 
    <a href="#" onclick="myFunction()">Click link</a> 

    <script> 
    function myFunction() { 
     window.print(); 
    } 
    </script> 

</body> 
</html> 
0

. Benim durumumda, şu anda devam etmekte olan tüm API çağrılarını iptal etmek, yerel yazdırma iletişimini hemen gösterdi.

İletişim kutusunun/sayfanın kapatılmaya çalışılmasından sonra iletişiminizin neden ortaya çıktığını tahmin ediyorum, tüm ağ istekleri iptal edildi. Ayrıca Stop all active ajax requests in jQuery

, kısa bir zaman aşımı içinde $.xhrPool.abortAll fonksiyonunu sarmak için vardı, sürekli çalışmasını sağlamak için (100ms): Burada

(jQuery kullanılırken) ajax istekleri havuzu oluşturmak için nasıl bir örnek .

function myFunction() { 
    window.print(); 
    window.setTimeout(function() { 
     $.xhrPool.abortAll() 
    }, 100); 
}