關於js方法列印指定區域

2021-09-02 02:24:04 字數 727 閱讀 8310

最近測試目前系統關於ie11的相容性問題,發現以前的列印頁面無法使用了,js報錯?比較奇怪的事情,於是除錯發現呼叫的公共方法**有問題。

js中,列印頁面有window.print()方法,也有document.execcommand('print')物件解析方式,還有webbrowser控制項方式來實現,但公共方法中卻是obj.document.execcommand('print',false),讓我一直以為這種方法可以列印指定標籤物件,但ie11的報錯使得我明白了,這樣寫是有問題的,只是ie以前的版本中的解析器將這種錯誤忽略了,而且這樣的寫法也是列印整個頁面(因為是開啟了乙個新頁面然後將需要列印的物件新增到新頁面中,而造成了自己認為是列印指定物件的錯覺)。為此,我需要重新找到實現方法列印指定區域。

1、當前頁列印

function printobj(obj)

這中方式是將當前頁替換為列印頁,列印完之後再替換回來,列印之前可以對列印頁進行特殊操作,例如去掉**中的頁碼等。這種方法貌似只能列印某一物件?想要列印任意區域,通過對oldstr進行擷取與拼接,也是可以實現任意區域列印的。

2、新視窗列印

function printobj(obj)

當然,也可以請求乙個存在的新頁面,然後在新頁面中處理

這樣做的好處在於,你可以對列印的內容重定義樣式等。

JS列印頁面指定區域

錯誤的寫法 列印function printpage areaid var prinframe parent.prinframe 0 prinframe contents find body html areaid html var win prinframe.contentwindow win.d...

指令碼列印頁面指定區域內容

1 思路,獲取指定區域的html元素,放到新頁面中,然後列印 還有一種是在html頁面中做標識,該方法適用與能控制頁面元素的情況下 2 如下 3 var newwindow window.open 組織結構圖列印視窗 blank var str document.getelementbyid svg...

關於POI設定列印區域 動態新增列印區域問題

下面是自己在使用poi匯出excel並設定列印區域問題的小結 假如只需要設定一次列印區域即可完成業務需求則使用以下方法即可 sheetindex 從0開始的sheet的索引編號 startcolumn 列印區域的開始列號 endcolumn 列印區域的結束列號 startrow 列印區域的開始行號 ...