所以我認爲Chrome和Firefox對DOM的解釋與我有關。我試圖從瀏覽器打印PDF(動態創建),因爲我不能打印頁眉和頁腳,通常打印HTML頁面。現在我只是使用fpdf從PDF頁面發送PDF並使用工具欄或右鍵單擊並打印,但現在客戶需要頁面上的按鈕來啓動打印對話框,但當然不會打印除PDF之外的其他任何內容... 。所以我包埋它:在chrome中打印嵌入PDFs
<embed
type="application/pdf"
src="print_pdf.php"
id="pdfDocument"
width="100%"
height="100%" />
和按鈕的onClick稱爲
<script type="text/javascript">
function printDocument(documentId) {
((function(){return document.getElementById(documentId);})()).print();
//Wait until PDF is ready to print
if (typeof document.getElementById(documentId).print == 'undefined') {
setTimeout(function(){printDocument(documentId);}, 1000);
} else {
var x = document.getElementById(documentId);
x.print();
}
}
</script>
其中documentID = 「pdfDocument」
這在IE9的工作很好,但瀏覽器和Mozilla都表示「遺漏的類型錯誤:對象#沒有方法'打印'「
所以我試圖用思維嵌入在Chrome是造成不當的對象解釋:
<object data="print_pdf.php" type="application/pdf" width="100%" height="100%" id="pdfD2">
ALT:檢驗.pdf
,並呼籲同的onClick,其中documentID = 「pdfD2」 .. 「遺漏的類型錯誤:對象#有沒有方法‘打印’」
然後我試圖在iframe: ......「遺漏的類型錯誤:對象#有沒有方法‘打印’」
我非常沮喪,因爲鉻是我去...我甚至禁用鉻的內置PDF視圖和使用Adobe 10.xxx .. ARGH !!!
僅供參考,我簡單的按鈕標籤:
<input type="button" value="Print Rx" onclick="printDocument('pdfDocument')">
<input type="button" value="Print Rx2" onclick="printDocument('pdfD2')">
<input type="button" value="Print Rx3" onclick="printDocument('pdfD3')">