5 jQuery打印頁面選項
jQuery 打印插件讓您能夠控制和自定義網站的哪些部分被打印,提供了一種替代瀏覽器默認打印功能(通常打印整個窗口)的方案。本文將探討幾種流行的 jQuery 打印插件,並演示如何自行構建此功能。
關鍵要點:
- jQuery 打印插件允許您控制和自定義網站哪些部分被打印,提供了一種替代瀏覽器默認打印功能(通常打印整個窗口)的方案。
- jQuery Print Preview 插件打開一個新的瀏覽器窗口來顯示網站的特定部分以進行打印。此插件對於打印數據部分(例如信息卡或表格中的一行)非常有用。
- jQuery Print Plugin 提供一系列設置來定制打印需求。例如,可以將其設置為通過 iFrame 在當前窗口中彈出,設置打印顯示呈現之前的等待時間,以及在彈出窗口之前或之後放置內容。
- 如果你想嘗試更高級的方案,可以嘗試動態創建一個
<iframe></iframe>
元素,將其添加到頁面中,設置<iframe></iframe>
的內容,在<iframe></iframe>
上調用.print()
,然後在短時間延遲後將其移除。
jQuery 打印插件概述:
雖然打印插件可能不是最令人興奮的插件,但以下是一些您可能想要了解的插件。我們還將簡要介紹如果您想嘗試更高級的方案,如何自己構建此功能。
注意: 舊版瀏覽器(我指的是 IE8)在使用某些插件時可能會出現異常行為。但是,所有現代瀏覽器都以一致的方式處理打印預覽,因此如果您需要完全兼容性,請記住這一點。
jQuery Print Preview
這個小型 jQuery 插件允許您打開一個新的瀏覽器窗口來顯示網站的特定部分以進行打印。與該列表中的其他一些插件不同,此插件不會直接觸發瀏覽器的打印功能,它只是打開一個最小窗口(這很完美,因為您現在可以直接打印它)。
該插件的用途是當您有一些想要打印的數據部分時,例如信息卡或表格中的一行。您可以將其在一個新窗口中打開(為插件提供配置選項),然後從那裡打印。這確保您只打印所需的內容。
它的瀏覽器支持似乎相當全面,在我的現代瀏覽器上運行良好。
不幸的是,它不在 GitHub 上,因此很難知道它是否正在積極維護。但是,這不應該阻止您,您可以查看它是否適合您,然後按原樣使用它。
jQuery Print Plugin
不要被難看的演示所迷惑。 jQuery Print Plugin 運行良好,並提供一系列設置供您自定義打印需求。例如,您可以設置彈出窗口是否在當前窗口(通過 iFrame)中進行,設置打印顯示呈現之前的等待時間,以及在彈出窗口之前/之後放置內容。
要開始運行,只需向其傳遞一個 jQuery 對像或選擇器即可,插件會完成其餘工作。
作者在 2016 年發布了一些提交來改進該插件。雖然提交不多,但它似乎仍在不斷發展。
jQuery printPage 插件
讓我們直接談談這個插件。它很久沒有更新了。雖然有些人可能會因為看到它上次更新是在 6 年前而感到不安,但其他人(包括我自己)可以看到它是一個簡單的插件,它可以正常工作。
此插件創建一個帶有消息和圖像的小型模式窗口,在主瀏覽器打印模式加載之前加載。當用於指向要打印內容的錨標記時,它似乎效果最佳。您可以將可打印內容添加到新頁面,然後使用此插件進行打印。如果您的用戶未啟用 JavaScript,它將正常鏈接,在新窗口中打開您的內容(您可以在其中正常打印)。
jQuery PrintMe
這個插件非常基礎。您只需在要打印的 jQuery 元素上調用它,它就會調用打印預覽窗口。沒有真正的選項可言,它的工作方式完全符合您的預期。
雖然它不像其他插件那樣擁有所有選項,但此插件非常基礎,在我的測試瀏覽器中運行良好。我推薦這個的原因是您可以查看它的源代碼,並了解它如何逐步完成準備打印預覽的過程。如果您想自己動手(並添加其他功能和設置),它實際上是一個很好的起點。
我不指望這個插件提供支持。使用它,如果它有效,那就太好了!如果沒有,您需要找到其他東西(或者可以選擇按照下面概述的方法自己構建它)。
jQuery Print Preview 插件
列表中的最後一個是 jQuery Print Preview 插件。它旨在為訪問者提供網站打印版本的預覽。與傳統的打印預覽不同,此插件在一個模式窗口中包含所有內容和打印樣式。
此外,它與 SitePoint 文章一起發布,您可以在此處閱讀:When Visitors Print – About That Print Stylesheet。
該插件具有良好的瀏覽器支持(一直追溯到 IE6),但似乎不提供任何其他配置。它還有一些未解決的問題,因此可以得出結論,它不再積極維護。
如何自己構建此功能?
創建這種功能並不太難。這些插件在幕後所做的大部分工作是動態創建一個<iframe></iframe>
元素,將其添加到頁面(但使用CSS 定位到屏幕外),設置<iframe></iframe>
的內容,在<iframe></iframe>
上調用.print()
,然後在短時間延遲後將其移除。
以下是執行此操作的方法:
function openPrintDialogue(){ $('<iframe>', { name: 'myiframe', class: 'printFrame' }) .appendTo('body') .contents().find('body') .append(` <h1 id="Our-Amazing-Offer">Our Amazing Offer</h1> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173975900525289.png" class="lazy" alt="5 jQuery Print Page Options " /></img> `); window.frames['myiframe'].focus(); window.frames['myiframe'].print(); setTimeout(() => { $(".printFrame").remove(); }, 1000); }; $('button').on('click', openPrintDialogue);
總結:
行業已經轉向不再打印頁面(您多久打印一次頁面?),因此這些插件中的幾個開始老化也就不足為奇了。
但是,有一些極端情況,打印頁面/頁面部分是有意義的。活動註冊/條形碼項目的打印就是一個例子,還有收據確認/購買證明。
如果您正在構建網站/網絡應用程序並且需要打印,您可能希望創建一個僅打印的 CSS 文件(參見:Create a Customized Print Stylesheet in Minutes)並完美調整您的佈局。或者,您可以使用上面概述的方法僅打印您感興趣的內容。這兩種解決方案都可以正常工作,但趨勢似乎正在轉向使用 CSS 來設置打印配置文件。
(FAQs 部分略去,因為這部分內容與插件本身關係不大,而且篇幅較長,可以根據需要自行補充)
以上是5 jQuery打印頁面選項的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

探索前端中類似VSCode的面板拖拽調整功能的實現在前端開發中,如何實現類似於VSCode...

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。
