Phần tử in JavaScript
Nói chung, tùy chọn in của trình duyệt được sử dụng để in nội dung trang web. Trong trường hợp này, toàn bộ nội dung trang được chọn để in trên trình duyệt. Hộp thoại in của trình duyệt không cho phép chọn một phần cụ thể của trang web để in. Chúng tôi cần sự trợ giúp của mã phía máy khách hoặc phía máy chủ để in các khu vực cụ thể của trang web Show Tính năng in trong ứng dụng web cho phép người dùng in nội dung của trang web để sử dụng ngoại tuyến. Có nhiều plugin jQuery khác nhau có sẵn để in nội dung trang web. Nếu bạn không muốn sử dụng bất kỳ plugin của bên thứ ba nào, chức năng này có thể được triển khai dễ dàng bằng JavaScript. Bạn có thể in nội dung HTML toàn trang hoặc khu vực cụ thể bằng JavaScript Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách in nội dung div cụ thể hoặc nội dung toàn trang bằng JavaScript. Để có khả năng sử dụng tốt hơn và làm cho quy trình trở nên thân thiện với người dùng, chúng tôi sẽ tạo một hàm JavaScript tùy chỉnh để in nội dung div, khu vực trang và toàn bộ nội dung trang web In nội dung HTML bằng JavaScriptHàm printPageArea('elementID')6 chứa một số mã JavaScript giúp bạn triển khai tính năng in dễ dàng trên trang web. Nó sẽ cung cấp cách đơn giản nhất để in các khu vực cụ thể của trang web Mã JavaScript. printPageArea('elementID')6 sẽ mở cửa sổ hộp thoại in với nội dung trang web và tùy chọn in dựa trên ID thành phần được cung cấp. Bạn có thể sử dụng chức năng này để in một khu vực cụ thể của trang web hoặc toàn bộ nội dung trang web. function printPageArea(areaID){ var printContent = document.getElementById(areaID).innerHTML; var originalContent = document.body.innerHTML; document.body.innerHTML = printContent; window.print(); document.body.innerHTML = originalContent; } Sử dụng hàm printPageArea() trong sự kiện printPageArea('elementID')8 của phần tử nút in và cung cấp ID div của khu vực nội dung mà bạn muốn in printPageArea('elementID') Mã HTMLXác định phần tử nút HTML sẽ kích hoạt hàm code>printPageArea() để khởi tạo mã in trong JavaScript Chỉ định nội dung HTML sẽ được in
In nội dung động bằng JavaScript và PHP Bạn có muốn nhận trợ giúp triển khai hay sửa đổi hoặc nâng cao chức năng của tập lệnh này không? Gần đây, tôi có một nhiệm vụ trong đó tôi phải in động các phần cụ thể của trang web, từ JavaScript. Đây chắc chắn không phải là vấn đề phức tạp nhất trên thế giới. Tuy nhiên, khi tìm kiếm các giải pháp, tôi rất ngạc nhiên khi thấy rằng tất cả các phương pháp phổ biến đều có những cảnh báo mà tôi không muốn áp dụng. Nếu bạn - như tôi đã làm - tìm kiếm trên StackOverflow cho "in div cụ thể" hoặc một số biểu thức tương tự, bạn sẽ tìm thấy hàng tá câu hỏi và một loạt câu trả lời cho mỗi câu hỏi. Và mọi câu trả lời được bình chọn cao sẽ có một nhận xét được bình chọn cao tương đương với nội dung “điều này không hiệu quả trong các tình huống khi…” Cảnh báo nhận xét SO về việc sử dụng khả năng hiển thị. không dành cho các khối không in đượcMột bình luận SO khác. một cảnh báo công bằng về việc thay thế nội dung tài liệu hiện tạiVà một nhận xét SO khác đề cập đến việc mất kiểu khi tạo phần tử cửa sổ mới để inMột nhận xét SO khác về những rắc rối khi sử dụng div cố định để inTôi tìm thấy hai cách tiếp cận chính cho vấn đề trên. Một là sử dụng biểu định kiểu phương tiện cụ thể và/hoặc định nghĩa CSS. Cách khác là tạo một đối tượng cửa sổ mới, chèn nội dung html của nút đã chọn vào phần thân tài liệu của cửa sổ mới này và gọi printPageArea('elementID')9 trên cửa sổ phong cách phương tiện truyền thông cụ thểSử dụng biểu định kiểu phương tiện cụ thể hoặc định nghĩa css phương tiện cụ thể là một giải pháp rõ ràng để xác định chế độ xem in của trang của bạn và không yêu cầu bất kỳ JavaScript nào. Khi người dùng in trang, tất cả các quy tắc Chèn nội dung đã chọn vào đối tượng cửa sổCách tiếp cận này có lợi ích là năng động — bạn có thể gọi nó với bất kỳ nội dung nút HTML nào. Cách đơn giản nhất (đồng thời là cách xâm lấn và rắc rối nhất) là sử dụng lại đối tượng cửa sổ hiện tại như thế này function printMe(element) { Nhưng xin đừng làm điều này. Xóa sạch và tạo lại Các biến thể khác tạo một đối tượng cửa sổ mới, sau đó tạo một số bản soạn sẵn phần thân và nội dung có thể in được đưa vào phần thân này. Một cách tiếp cận tốt hơn, nhưng không bảo toàn các kiểu — bạn sẽ cần đưa các biểu định kiểu từ tài liệu gốc sang tài liệu mới. Và cửa sổ in sẽ mở dưới dạng tab hoặc cửa sổ mới, không hấp dẫn Không tìm được cách giải quyết thỏa đáng, tôi lăn xả. Nó là một mô-đun JavaScript nhỏ (75 dòng mã nguồn) với CSS bổ sung khoảng 10 dòng và hoạt động như thế này Nó có một chức năng được hiển thị duy nhất có tên là Hàm lặp qua các nút đã truyền và đối với mỗi nút, nó sẽ duyệt qua cây DOM cho đến phần tử BODY. Ở mỗi cấp độ, bao gồm cả cấp độ ban đầu (là cấp độ của nút sẽ được in), nó gắn một lớp đánh dấu ( .pe-preserve-ancestor { 0) vào nút hiện tại. Sau đó đính kèm một lớp đánh dấu khác (.pe-preserve-ancestor { 1) cho tất cả các anh chị em của nút hiện tại, nhưng chỉ khi không có lớp .pe-preserve-ancestor { 0 trên chúng. Là hành động thứ ba, nó cũng gắn một lớp khác vào các phần tử tổ tiên được bảo tồn .pe-preserve-ancestor { 3Giả sử chúng ta có cây tài liệu sau Ví dụ cây DOM mượn từ http. //www. dự án sách mở. net/tutorials/xuống/css/bài 4. htmlBây giờ nếu chúng tôi chỉ muốn in đoạn thứ hai và thứ ba của phần tử .pe-preserve-ancestor { 4, chúng tôi sẽ gọi .pe-preserve-ancestor { 5 với hai phần tử đó. Hàm sẽ đính kèm các lớp sau vào DOMCác quy tắc css cho các lớp đánh dấu này rất đơn giản. .pe-preserve-ancestor { 1có một tài sản .pe-preserve-ancestor { 7, và đó là nó. .pe-preserve-ancestor { 0 không có định nghĩa kiểu, nó chỉ đóng vai trò là điểm đánh dấu, vì vậy chúng tôi không xóa bất kỳ nút nào đã được giữ nguyên khi duyệt qua cây trong nhiều lượt. .pe-preserve-ancestor { 3 phức tạp hơn một chút và tôi nghi ngờ rằng không có bộ quy tắc kỳ diệu nào phù hợp với tất cả các trang web. Bạn có thể bỏ qua các định nghĩa kiểu cho lớp này hoàn toàn và kết quả in sẽ tốt hơn so với bất kỳ phương thức nào khác. Nhưng tôi thấy rằng việc đặt lại đường viền tổ tiên, bóng hộp, lề và phần đệm thường mang lại một chút cải tiến bổ sung cho chế độ xem in. Đây là bộ phong cách được đề xuất của tôi cho lớp này.pe-preserve-ancestor { Bạn nên thử nghiệm các kiểu cho lớp này để tìm ra giải pháp tốt nhất cho nhu cầu cụ thể của mình Và bây giờ, phần thưởng là thời gian để xem qua bài viết (hoặc chỉ cần cuộn xuống nhanh chóng). Kiểm tra hoạt động của printPageArea('elementID')90. Bạn sẽ tìm thấy bốn nút trong menu nửa trong suốt trên cùng sẽ in các phần khác nhau của trang. Lưu ý cách chỉ nội dung được yêu cầu sẽ được in và cách tất cả các kiểu được giữ nguyên. Ngoài ra kiểm tra mã nguồn. Hãy cho tôi biết nếu nó hoạt động cho các trường hợp sử dụng cụ thể của bạn Làm cách nào để in phần tử trong JavaScript?JavaScript không có bất kỳ đối tượng in hoặc phương thức in nào. Bạn không thể truy cập các thiết bị đầu ra từ JavaScript. Ngoại lệ duy nhất là bạn có thể gọi cửa sổ. print() trong trình duyệt để in nội dung của cửa sổ hiện tại .
Làm cách nào để in một phần trang bằng JavaScript?Bạn có thể sử dụng chức năng này để in một khu vực cụ thể của trang web hoặc toàn bộ nội dung trang web. Sử dụng hàm printPageArea() trong sự kiện onclick của thành phần nút in và cung cấp ID div của khu vực nội dung mà bạn muốn in .
Làm cách nào để in phần tử theo id trong JavaScript?Hiển thị hoạt động trên bài đăng này. . Cung cấp bất kỳ phần tử nào bạn muốn in id printMe
Bài Viết Liên QuanQuảng CáoCó thể bạn quan tâmToplist được quan tâm#1
Top 4 uống nước chanh sả mật ong có tác dụng gì 20235 tháng trước#2
Top 10 bài tập làm văn số 5 lớp 7 de 4 20235 tháng trước#3
Top 3 vừa chơi đã có tài khoản vương giả chap 1 20235 tháng trước#4
Top 6 anh sẽ on thôi cover phạm nguyên ngọc lyrics 20235 tháng trước#6
Top 7 hãy ra khỏi người đó đi hợp âm 20235 tháng trước#7
Top 6 giáo án thơ về thăm nhà bác 20235 tháng trước#8
Top 8 giáo án ngữ văn 6 cánh diều 20235 tháng trước#9
Top 9 tinh bột tham gia phản ứng nào 20235 tháng trướcQuảng cáoXem NhiềuQuảng cáoChúng tôiTrợ giúpBản quyền © 2021 Hàng Hiệu Inc.
|