2012-05-22 173 views
1

(這是通過Grease/Tampermonkey)。Chrome:不打印javascript內容

下面是使用Chrome瀏覽器測試版亭打印功能:

$("#autoCheckOrder button").click (function() { 
    var newWin  = window.open (""); 
    newWin.document.write ("<!DOCTYPE html>"); 
    newWin.document.write("<html>"); 
    newWin.document.write("<head>"); 
    newWin.document.write("<title>"); 
    newWin.document.write("</title>"); 
    newWin.document.write("<style>"); 
    newWin.document.write("@media print { "); 
    newWin.document.write("body { "); 
    newWin.document.write("background-color: white;"); 
    newWin.document.write("width: 55mm;"); 
    newWin.document.write("position: absolute;"); 
    newWin.document.write("top: 0;"); 
    newWin.document.write("left: 0;"); 
    newWin.document.write("padding: 0px;"); 
    newWin.document.write("font-size: 14px;"); 
    newWin.document.write("line-height: 18px;"); 
    newWin.document.write("}"); 
    newWin.document.write("}"); 
    newWin.document.write("</style>"); 
    newWin.document.write("</head>"); 
    newWin.document.write("<body>"); 
    newWin.document.write (loanHTML); 
    newWin.document.write("</body>"); 
    newWin.document.write("</html>"); 
    if(newWin.print()) { 
     newWin.close(); 
    } else { 
     newWin.close(); 
    } 
}); 

它吸引來自一個上市的所有項目頁表,然後創建一個 「收據」。然後打印收據。這工作完美了一段時間,現在它只打印第一個項目。

我都試過,完全沒有結果如下:

  • 使用分頁 - 後:始終
  • 配售收據DIV上述CSS規則
  • 重新安裝打印機
  • 紙打印機的縮小設置

瘋狂的是,它用來完美地打印所有項目,現在它沒有。我甚至從備份中重新安裝腳本以確保它。

不知道從哪裏去。所有內容都在打印預覽中顯示,但只打印第一項。 '頁眉和頁腳'設置只會讓事情變得更糟,而不是更好。

UPDATE

我改變發送到打印機的HTML和它的作品。仍然不確定它是否完全有效,但是它正在打印。如果停止打印,我會知道該怎麼解決。感謝您的輸入!

+0

你爲什麼試圖在JavaScript中做到這一點。這是錯誤的。 –

+0

沒有選擇。第三方內部應用 – Bubnoff

回答

1

我能看到的唯一合理的解釋是您的loanHTML變量是空的或未定義的。

演示:http://jsfiddle.net/waitinforatrain/bMzUt/2/

註釋掉var loanHTML線,並再次運行,你會明白我的意思。

+0

它可以在Greasemonkey/Firefox中使用。這是一張表格,出於某種原因,只有第一行在Chrome中打印,儘管整個事件都出現在打印預覽中。想知道在寫入收據頁面之前,我是否應該將全部內容寫入頁面上的隱藏區域。 – Bubnoff

+2

實際上,'loanHTML'可能是畸形的。 FF和Chrome以不同的方式處理格式不正確的代碼,並且Chrome也以不同方式「串聯」事物。將發生故障的打印頁保存到光盤。然後用Chrome打開該文件並驗證它(仍然)有問題。重複,直到你有一個問題演示文件。然後將該文件上傳到http://pastebin.com/並指向我們。 ...另外,***完全***如何'loanHTML'定義/設置? –

+0

我認爲你絕對是在做某件事。 div從表格內被拉出,從而剝離外表標籤。我沒有爲此做任何事情,因爲它似乎工作正常......起初......然後馬上忘記了那個小細節。仍然想知道爲什麼它開始工作。 – Bubnoff