2017-05-05 70 views
1

我開發了具有打印選項的SAPUI5應用程序。 當我點擊打印按鈕時,我正在將打印區域內容寫入文檔並使用window.print()打印。如何在window.print中使用SAPUI5庫css?

var printContents = document.getElementById("printArea").innerHTML; 
var win = window.open("", "PrintWindow"); 
win.document.write("<div class='page'>" + printContents + "</div>"); 
     setTimeout(function() { 
     win.print(); 
     win.stop(); 
     }, 2000); 

但問題是我在我的打印中缺少SAPUI5默認庫CSS。 我需要SAPUI5默認樣式表在我的打印中,如何解決它?

回答

1

我也遇到過同樣的問題。 請在「var win ...」和「win.document.write ...」之間添加以下代碼。

$.each(document.styleSheets, function(index, oStyleSheet) { 
    if(oStyleSheet.href){ 
    var link = document.createElement("link"); 
    link.type = oStyleSheet.type; 
    link.rel = "stylesheet"; 
    link.href = oStyleSheet.href; 
    //win.document.head.appendChild(link); --> this doesn't work in IE 
    win.document.getElementsByTagName("head")[0].innerHTML = win.document.getElementsByTagName("head")[0].innerHTML + link.outerHTML; 
    } 
});