Mở pdf trong cửa sổ mới javascript
Bây giờ cửa sổ. mở (kết quả) hoàn toàn không hoạt động, nó khóa ứng dụng. Thậm chí có thể làm như thế này? . hoặc làm điều đó trong một trang aspx. Và tôi rất muốn sử dụng kết quả để thay thế, vì thỉnh thoảng tôi không biết tên tệp pdf và cũng không muốn lưu tệp trên ổ cứng. Tôi không phải sử dụng javascript nếu có cách mở pdf trực tiếp từ Bộ điều khiển. Bất kỳ đề xuất sẽ được nhiều đánh giá cao. . ) Show
Bạn có thành phần này có thể hiển thị nhiều loại tệp. Hạn chế duy nhất là yêu cầu kết nối internet mở Trân trọng, Marcello Chào Marcelo, Cảm ơn bạn đã phản hồi. " Những gì bạn đang tìm kiếm có thể được thực hiện với tiện ích iFrame mà bạn có thể tìm thấy trong Tiện ích (WebPattern) Vì vậy, trong màn hình này, bạn mở qua target=_blank, bạn đặt tiện ích iFrame và xác định SourceURL là tệp PDF bạn muốn tải xuống. Tôi tin rằng điều này nên làm việc Xin chào , Bạn có thể mở tệp pdf bằng cách sử dụng javascript đơn giản. var pdf_newTab = cửa sổ. mở(""); pdf_newTab. tài liệu. viết( "" ); Ghi chú. ứng dụng/pdf là mimetype. tham số $. BinaryData- là tham số đầu vào nhị phân Vui lòng kiểm tra oml đã tải lên. Hôm nay, tôi đang cố gắng giải quyết vấn đề này xuất phát từ cùng một vấn đề nhức nhối đã nêu trong bài đăng gốc -- khi tôi xem qua một tệp PDF (mở trong Chrome) để kiểm tra các liên kết được nhúng, nhấp vào bất kỳ liên kết nào trong số chúng dẫn đến việc mở liên kết . Để quay lại tệp, tôi tiếp tục sử dụng nút Quay lại. Bằng cách đó, tệp tự tải lại, buộc tôi phải cuộn đến vị trí của liên kết cuối cùng mà tôi vừa kiểm tra. Quá trình này trở nên rườm rà trong một tệp có hơn 30 trang và nhiều đường liên kết gấp 3 lần Giải pháp mà tôi thấy phù hợp với mình (đã thử nghiệm trên Chrome, Firefox, Edge) kể từ ngày 7 tháng 8 năm 2022 như sau
Tôi không kiểm tra ốp lưng trên máy Mac, Safari hoặc iPhone nhưng trên điện thoại Android, quá trình này diễn ra suôn sẻ. vâng. Nitro Pro được thiết kế để hoạt động giống như một trình duyệt web cho phép người dùng thích làm việc trong một cửa sổ so với. nhiều Hiện tại, tùy chọn duy nhất khả dụng là mở các tệp trong chương trình và kéo một tab ra ngoài rồi tạo một cửa sổ mới. Để biết các bước chi tiết, vui lòng tham khảo bài viết này. Chúng tôi luôn tìm cách cải thiện trải nghiệm người dùng của mình và tôi sẽ chuyển yêu cầu thêm tùy chọn để chọn cách bạn muốn mở tài liệu trong Nitro Pro Việc mở các tài liệu như PDF trong một cửa sổ mới phải được tự động hóa bằng JavaScript vì những lý do sau
Sử dụng JavaScript cũng có thể đặc biệt hữu ích khi trang web được quản lý nội dung. Thay vì phải phụ thuộc vào trình chỉnh sửa trang web để nhớ mở liên kết tới tệp PDF trong một cửa sổ mới, quy trình này được xử lý bằng một hàm JavaScript đơn giản JavaScriptVì vậy, bạn có thể thấy mục tiêu của chúng tôi là gì, hãy xem ví dụ hoạt động đầy đủ này Đăng ký một sự kiệnNhiệm vụ đầu tiên là tạo một sự kiện xảy ra khi trang được tải. Thay vì cố gắng thực hiện một lệnh gọi hàm bằng cách sử dụng function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }3 trong trang HTML, chúng ta sẽ sử dụng function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }4 của Simon Willison. Điều này sẽ cho phép chúng tôi thêm các lệnh gọi chức năng sau khi trang đã được tải Chúng tôi sẽ nhập JavaScript sau vào. js (tất cả các mã tiếp theo phải được nhập trước chức năng này để function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }5 là cuối cùng) JavaScript function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } addLoadEvent(fNewPDFWindows); Hàm function fNewPDFWindows () { if (!document.getElementsByTagName) return false; } 6Chúng ta sẽ tạo một hàm trống trong tệp JavaScript có tên là function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }7. Để tránh bất kỳ lỗi JavaScript nào với tập lệnh, chúng tôi cũng kiểm tra xem liệu lệnh function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }8 có khả dụng hay không JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; } Nhiệm vụ thứ hai là tạo một bộ sưu tập đối tượng HTML của bất kỳ liên kết nào trong trang. Dòng sau nhận tất cả các liên kết trong trang JavaScript var links = document.getElementsByTagName("a"); Chúng ta chèn dòng này vào sau phần kiểm tra xem phương thức đối tượng function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }8 có tồn tại hay không như sau JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }1 Nhiệm vụ tiếp theo là lặp qua tất cả các liên kết và kiểm tra xem chúng tôi có muốn mở bất kỳ liên kết nào trong một cửa sổ mới không. Nếu liên kết đến một tài liệu PDF thì chúng tôi sẽ mở nó trong một cửa sổ mới Vòng qua các liên kếtĐầu tiên, chúng tôi tạo vòng lặp đi qua tất cả các liên kết trong trang, như sau JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }2 Phương pháp var links = document.getElementsByTagName("a"); 0Tiếp theo, chúng ta cần xác định khi chúng ta lặp qua các liên kết xem liên kết đó có phải là tài liệu PDF hay không. Phương thức var links = document.getElementsByTagName("a");1 lý tưởng cho việc này bằng cách trả về chỉ mục của giá trị tìm kiếm (vị trí của giá trị tìm kiếm trong chuỗi). Phương thức var links = document.getElementsByTagName("a");1 yêu cầu giá trị tìm kiếm nhưng bạn cũng có thể chỉ định nơi bắt đầu tìm kiếm từ trong chuỗi (trong ví dụ này, chúng ta không cần truyền tham số this cho phương thức) Vì vậy, hãy truyền chuỗi phương thức var links = document.getElementsByTagName("a");1 ". pdf" để tìm hiểu xem tệp được liên kết có phải là tài liệu PDF không. Phương thức indexOf trả về -1 nếu không tìm thấy chuỗi hoặc chỉ mục của văn bản phù hợp JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }7 chức năng var links = document.getElementsByTagName("a"); 4Tiếp theo, chúng ta cần áp dụng một sự kiện var links = document.getElementsByTagName("a");5 cho mỗi liên kết tới tài liệu PDF, để khi chúng được nhấp vào, cửa sổ mới sẽ mở ra JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }0 Đầu tiên, hãy mở cửa sổ mới và cung cấp cho cửa sổ một số thông số. Các tham số chúng ta sẽ vượt qua như sau
Để biết danh sách đầy đủ các thuộc tính cửa sổ, hãy xem trang phương thức mở DOM của các trường W3C Chức năng hoàn thành trong ví dụ này như sau. Thao tác này sẽ mở địa chỉ liên kết trong một cửa sổ mới, có thể thay đổi kích thước với các thanh cuộn JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }1 Chúng tôi chèn sự kiện var links = document.getElementsByTagName("a");5 trong câu lệnh var links = document.getElementsByTagName("a");7 để phát hiện xem tài liệu PDF đã được tìm thấy hay chưa JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }4 Cảnh báo người dùng tài liệu mở trong một cửa sổ mớiNhiệm vụ cuối cùng là đảm bảo người dùng biết rằng liên kết sẽ mở trong một cửa sổ mới. Chúng ta cần phải rõ ràng nhất có thể với điều này để giảm thiểu sự nhầm lẫn Chúng tôi sẽ làm điều này bằng cách đầu tiên sửa đổi văn bản tiêu đề của liên kết và thứ hai chèn một hình ảnh với văn bản thay thế của "(opens in a new window)". Tiêu đề liên kết có thể được đặt như sau JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }5 Tiếp theo, chúng ta sẽ tạo một phần tử hình ảnh và đặt các thuộc tính var links = document.getElementsByTagName("a");8 và var links = document.getElementsByTagName("a");9 cho nó. Cuối cùng, chúng tôi sẽ nối hình ảnh vào siêu liên kết bằng phương pháp function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }10 JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }0 Chức năng cuối cùng như sau JavaScript function fNewPDFWindows () { if (!document.getElementsByTagName) return false; }1 Phần kết luậnChức năng rất ngắn này cho thấy việc tự động mở các liên kết trong cửa sổ mới dễ dàng như thế nào. Điều này có nghĩa là trang web của bạn sẽ có nhiều khả năng xác thực hơn, có nhiều khả năng hoạt động chính xác hơn trong các trình duyệt trong tương lai và sẽ hữu ích hơn cho người dùng của nó. Kiểm tra ví dụ đầy đủ chức năng này Giấy phépBài viết này không có giấy phép rõ ràng kèm theo nhưng có thể chứa các điều khoản sử dụng trong văn bản bài viết hoặc trong chính các tệp tải xuống. Nếu nghi ngờ xin vui lòng liên hệ với tác giả thông qua bảng thảo luận dưới đây Có thể tìm thấy danh sách các giấy phép mà tác giả có thể sử dụng tại đây Được viết bởi Trenton Rêu Nhà phát triển web Vương quốc Anh Trenton Moss phát cuồng vì khả năng sử dụng và khả năng truy cập - điên đến mức ông đã thành lập Webcredible, một công ty tư vấn trải nghiệm người dùng hàng đầu trong ngành, để giúp biến Internet thành một nơi tốt hơn cho mọi người. Anh ấy rất giỏi về kiến trúc thông tin và thiết kế tương tác |