JS生成IMG我有下面的代碼:如何顯示上打印
jQuery('#print').on("click", function(){
var mywindow = window.open('', 'my div', 'height=400,width=600');
mywindow.document.write('<html><head><title>Title</title>');
mywindow.document.write('</head><body >');
mywindow.document.write('<img src="https://www.google.pl/images/srpr/logo11w.png" alt="logo"/>');
mywindow.document.write('</body></html>');
mywindow.print();
mywindow.close();
return true;
});
它能做什麼,是當有人點擊按鈕#PRINT,包含谷歌標誌的小窗口已經打開打印彈出窗口。不幸的是,當我在紙上或PDF上打印時,圖像沒有出現 - 顯示它是alt屬性。
我該如何解決這個問題?
它在http://jsbin.com/zosejate/1/edit?html,js,output上爲你工作嗎?我已經嘗試過FF,Chrome,Opera和IE上的這個jsbin,並且它不打印任何圖像。在3臺不同的電腦上測試 – zorza
它看起來像是第一次使用並且圖像未加載,那麼它不起作用。然後,一旦圖像加載或緩存在瀏覽器中,它似乎每次都工作,因爲它是一個304快速圖像加載。我正在嘗試檢測圖像何時加載。這將有助於保證在打印開始之前所有資產都存在並加載。 –
你可以試試這個jsbin的例子 - http://jsbin.com/catubuwa/1/edit?html,js,output我所做的只是添加一個超時給窗口一個後續調用後來相當。這不是一個非常優雅的解決方案,我真的不推薦它,但它可以幫助你真正看到發生了什麼。確保您清除歷史記錄並從頭開始加載窗口,以便加載圖像。看起來確保img的加載對於獲得期望的打印效果至關重要。 –