Viewport là gì? Bố cục trình duyệt, pixel và tự động hóa

Viewport là gì?

Scrapeless Agent Browser cung cấp các môi trường trình duyệt có thể cấu hình cho các quy trình làm việc render trang và ghi nhận đầu ra trình duyệt.

Viewport là vùng mà trình duyệt dùng để hiển thị tài liệu. Trong phát triển web, thuật ngữ này thường liên quan đến không gian dùng để dàn trang một trang hoặc phần của bố cục hiện đang hiển thị cho người dùng. Viewport không nhất thiết phải cùng kích thước với màn hình vật lý, cửa sổ trình duyệt hoặc toàn bộ tài liệu.

Các cài đặt viewport ảnh hưởng đến điều hướng responsive, xuống dòng, chọn hình ảnh, và những gì hiển thị trước khi cuộn. Trong tự động hóa, một trang có thể tải đúng nhưng lại xuất lộ các điều khiển khác nhau vì viewport thay đổi. Hãy coi cấu hình viewport là một phần đầu vào của trang thay vì chỉ là một cài đặt ảnh chụp màn hình tình cờ.

Layout viewport xác định không gian làm việc của trang

Layout viewport là không gian mà trình duyệt dùng để dàn bố cục tài liệu. Kích thước của nó ảnh hưởng đến các quy tắc responsive và cách sắp xếp nội dung.

Mô hình viewport trong CSS giải thích cách trang hiển thị liên hệ với bố cục và tài liệu. Trên trình duyệt máy tính, thay đổi kích thước vùng nội dung thường thay đổi layout viewport và có thể khiến trang chuyển giữa các cách bố trí responsive khác nhau.

Một tài liệu có thể mở rộng vượt quá viewport theo chiều dọc hoặc chiều ngang. Cuộn chỉ thay đổi phần đang được xem mà không làm cho toàn bộ tài liệu có cùng kích thước với viewport. Đó là lý do một trang có vùng hiển thị ngắn vẫn có thể chứa một bài viết dài.

Đối với tự động hóa, hãy ghi nhận kích thước bố cục dự định. Một điều khiển điều hướng tồn tại trong bố cục rộng có thể được thay thế bằng nút menu trong bố cục hẹp. Trang đang phản hồi với môi trường của nó; bộ định vị cần thể hiện trạng thái bố cục dự định.

Visual viewport mô tả những gì hiện đang hiển thị

Visual viewport là phần của trang hiện đang hiển thị sau các hiệu ứng như pinch zoom. Nó có thể khác với layout viewport, đặc biệt trên thiết bị di động.

Giao diện VisualViewport interface cung cấp thông tin về vùng hiển thị đó. Người dùng có thể phóng to vào một vùng nhỏ hơn của bố cục mà không yêu cầu tính lại mọi quy tắc bố cục như thể thiết bị đã trở thành một màn hình hẹp hơn.

Các điều khiển trình duyệt và bàn phím trên màn hình cũng có thể ảnh hưởng đến vùng hiển thị, với hành vi phụ thuộc vào trình duyệt và cấu hình. Đừng giả định mọi thay đổi về chiều cao hiển thị đều tạo ra cùng một thay đổi về kích thước bố cục trên các thiết bị khác nhau.

Sự phân biệt này quan trọng đối với overlay và các phần tử giao diện cố định vị trí. Một điều khiển có thể được đặt đúng tương đối với một khái niệm viewport nhưng lại bị che khuất một phần trong vùng hiển thị hiện tại. Hãy kiểm tra trạng thái tương tác thực tế khi khả năng truy cập hoặc khả năng sử dụng trên di động phụ thuộc vào nó.

CSS pixel không phải là pixel hiển thị vật lý

CSS pixel mô tả đơn vị bố cục, trong khi pixel hiển thị vật lý mô tả lưới hình ảnh của phần cứng. Device pixel ratio liên hệ mật độ pixel vật lý với kích thước CSS pixel trong môi trường trình duyệt.

Thuộc tính devicePixelRatio property mô tả mối quan hệ đó. Trình duyệt có thể hiển thị cùng bố cục CSS bằng các số lượng pixel vật lý khác nhau, vì vậy kích thước pixel của một hình ảnh đơn lẻ không hoàn toàn xác định bố cục đã tạo ra nó.

Đối với so sánh ảnh chụp màn hình, hãy phân biệt chiều rộng bố cục với độ phân giải ảnh đầu ra. Một hình ảnh dày đặc hơn có thể biểu diễn cùng cách sắp xếp các phần tử. Một bố cục rộng hơn lại có thể thay đổi xuống dòng, điều hướng và số cột hiển thị.

Thước đoNó mô tả gìTại sao nó quan trọng
Chiều rộng viewport tính bằng CSS pixelKhông gian bố cục trangResponsive breakpoint và xuống dòng
Device pixel ratioMối quan hệ mật độ pixelĐầu ra raster và độ sắc nét của hình ảnh
Kích thước màn hìnhMôi trường hiển thị được báo cáoĐặc tính thiết bị được trang tiếp nhận
Kích thước tài liệuToàn bộ phạm vi nội dungCuộn và chụp toàn trang

Thay đổi thông tin màn hình không nhất thiết là cùng một thao tác với thay đổi viewport của trang. Hãy kiểm tra API viewport thực tế của client tự động hóa và kiểm tra bố cục đã render sau khi cấu hình.

Thiết lập meta viewport ảnh hưởng đến bố cục trên di động

Thiết lập meta viewport cho trình duyệt di động biết trang muốn layout viewport và tỉ lệ ban đầu của nó hoạt động như thế nào. Các trang responsive thường yêu cầu chiều rộng bố cục phù hợp với chiều rộng thiết bị.

Nếu không có thiết lập phù hợp, trình duyệt di động có thể dùng không gian bố cục rộng hơn và co trang lại cho vừa. Kết quả có thể trông giống một trang desktop thu nhỏ ngay cả khi màn hình vật lý hẹp. Đây là một lý do khiến kích thước bề ngoài của ảnh chụp màn hình không thể hiện viewport CSS cơ bản của nó.

Thiết lập meta là một phần của tài liệu trang. Client tự động hóa cũng có các thiết lập môi trường ảnh hưởng đến viewport và giả lập thiết bị. Hiểu cả hai phía trước khi giả định một cấu hình di động tái tạo một thiết bị thực.

Chỉ một viewport hẹp thôi thì không tái tạo được đầu vào trên di động, hành vi hệ điều hành, giao diện trình duyệt hoặc hiệu năng phần cứng. Hãy dùng nó để kiểm thử bố cục responsive, sau đó bổ sung các điều kiện khác mà câu hỏi tương thích thực tế yêu cầu.

Các Điểm Ngắt Responsive Có Thể Thay Đổi Quy Trình Làm Việc

Các điểm ngắt responsive thay đổi cách sắp xếp trang khi điều kiện môi trường đáp ứng các quy tắc CSS của nó. Chúng có thể ảnh hưởng đến việc tác vụ tự động hóa phải dùng điều khiển nào và cách tác vụ truy cập các bản ghi được yêu cầu.

Một danh mục có thể hiển thị bộ lọc thanh bên trong bố cục rộng và hộp thoại bộ lọc trong bố cục hẹp. Cả hai có thể đại diện cho cùng một khả năng cơ bản. Một quy trình làm việc giả định thanh bên luôn tồn tại thì bị ràng buộc vào một cấu hình bố cục.

Xây dựng bộ định vị xoay quanh tương tác dự định. Kiểm tra xem menu đã được mở rộng chưa trước khi chọn một mục ẩn, và xác minh rằng bộ lọc đã chọn thay đổi các bản ghi như mong đợi. Ảnh chụp màn hình có thể giúp nhận diện bố cục, nhưng kiểm tra chấp nhận nên xác nhận trạng thái của ứng dụng.

Kiểm thử quanh các điểm ngắt quan trọng với sản phẩm thay vì chọn nhãn thiết bị tùy ý. Các quy tắc riêng của trang quyết định nơi các điều khiển thay đổi. Danh mục kiểm thử nên bao gồm các trạng thái bố cục có ý nghĩa và những tương tác bị ảnh hưởng nhiều nhất bởi chúng.

Giữ ổn định vùng xem trong một quy trình làm việc trừ khi thay đổi kích thước là mục đích của bài kiểm thử. Thay đổi kích thước trong lúc trích xuất có thể khiến trang bố trí lại, thay đổi khả năng hiển thị hoặc làm ứng dụng xây dựng lại các thành phần giao diện.

Ảnh chụp màn hình Cần Vùng Bắt Hình Rõ Ràng

Ảnh chụp màn hình có thể ghi lại vùng xem, một phần tử được chọn hoặc vùng tài liệu lớn hơn tùy theo công cụ. Các kiểu bắt hình này trả lời những câu hỏi khác nhau.

Ảnh vùng xem hiển thị những gì đang nhìn thấy tại vị trí cuộn hiện tại. Ảnh toàn trang biểu diễn phạm vi tài liệu lớn hơn. Ảnh phần tử tập trung vào một thành phần cụ thể và có thể bỏ qua các lớp phủ hoặc điều hướng xung quanh.

Chọn kiểu bắt hình xoay quanh quyết định cần đưa ra. Để chẩn đoán một nút bị che bởi biểu ngữ, hãy giữ đủ nội dung xung quanh để hiển thị sự che khuất. Để so sánh bố cục trực quan của thẻ sản phẩm, bắt hình phần tử có thể hữu ích hơn ảnh trang dài.

Chụp sau một điều kiện sẵn sàng được xác định. Phông chữ, hình ảnh và nội dung bất đồng bộ có thể thay đổi hình học sau điều hướng ban đầu. Ảnh chụp trong trạng thái đang tải không nên được so sánh như thể nó đại diện cho trang đã hoàn tất.

Cũng ghi lại vị trí cuộn và trạng thái liên quan. Hai ảnh vùng xem có cùng kích thước có thể hiển thị các phần khác nhau của cùng một tài liệu, khiến thay đổi bố cục có vẻ chỉ là khác biệt về phần đang hiển thị.

Tải Lười Kết Nối Khả Năng Hiển Thị Với Khả Năng Sẵn Có Dữ Liệu

Tải lười có thể khiến khả năng sẵn có nội dung phụ thuộc vào việc cuộn hoặc khả năng hiển thị. Một tài liệu có thể chưa tải mọi hình ảnh hoặc bản ghi chỉ vì vùng xem ban đầu đã sẵn sàng.

Đối với trích xuất, phân biệt nội dung tồn tại bên ngoài vùng hiển thị với nội dung vẫn chưa được tạo. Cuộn có thể làm lộ các nút đã tồn tại, kích hoạt tải tài nguyên hoặc khiến các bản ghi mới được chèn. Ứng dụng quyết định hành vi nào được áp dụng.

Danh sách ảo hóa thêm một cân nhắc khác: tài liệu có thể chỉ giữ một tập con bản ghi làm nút đang hoạt động trong khi người dùng cuộn. Đọc DOM hiện tại một lần do đó có thể khác với việc thu thập toàn bộ danh sách logic.

Xác định chiến lược thu thập có giới hạn với điều kiện hoàn tất rõ ràng. Danh tính bản ghi hữu ích hơn là giả định rằng một màn hình đại diện cho toàn bộ tập dữ liệu. Giữ rõ phạm vi tác vụ và hành vi trang trước khi mở rộng lượng cuộn.

Lập Kế Hoạch Viewport Trong Scrapeless Agent Browser

Scrapeless Agent Browser cung cấp một môi trường trình duyệt được quản lý với thông tin dấu vân tay có thể cấu hình, bao gồm các thiết lập liên quan đến màn hình. Cấu hình màn hình và cấu hình vùng xem phía khách vẫn nên được kiểm tra như các điều khiển riêng biệt.

Đặt bố cục bạn muốn thông qua client tự động hóa được hỗ trợ, sau đó kiểm tra trang thực tế. Xác nhận các điều khiển responsive, vùng ảnh chụp màn hình và các bản ghi hiển thị trong trạng thái đó. Tránh giả định rằng chỉ một giá trị chiều rộng màn hình là đủ để thiết lập vùng xem di động.

Cuộc thảo luận Node.js managed-browser cung cấp bối cảnh liên quan về việc điều khiển trình duyệt từ xa. Xem lại các gói Scrapeless với toàn bộ khối lượng công việc kết xuất trong đầu, bao gồm vòng đời trình duyệt và yêu cầu bắt hình.

Kết luận

Một viewport xác định cách trình duyệt bố trí hoặc trình bày một phần của tài liệu. Phân biệt không gian bố cục, vùng hiển thị, mật độ điểm ảnh và phạm vi tài liệu khi cấu hình tự động hóa. Thiết lập viewport ổn định và điều kiện bắt hình rõ ràng giúp ảnh chụp màn hình, tương tác và bản ghi trích xuất dễ so sánh hơn.

Khiến Việc Kết Xuất Trình Duyệt Có Thể Tái Lập

Khám phá Scrapeless Agent Browser với một viewport có chủ đích, môi trường nhất quán và các điều kiện bắt hình được xác định.

Đăng ký hôm nay và nhận $5 tín dụng miễn phí — không cần thẻ tín dụng.

Nhận $5 Tín Dụng Của Bạn →

Câu hỏi thường gặp

H: Viewport có giống màn hình không?

Viewport không nhất thiết giống màn hình. Các điều khiển trình duyệt, kích thước cửa sổ, mức thu phóng và hành vi bố cục có thể khiến vùng sử dụng được của trang khác với màn hình vật lý.

H: Sự khác nhau giữa layout viewport và visual viewport là gì?

Layout viewport xác định không gian dùng cho bố cục trang, trong khi visual viewport mô tả vùng hiện đang hiển thị. Thao tác thu phóng chụm có thể thay đổi vùng hiển thị mà không khiến nó trùng với không gian bố cục.

H: Viewport hẹp có mô phỏng hoàn toàn điện thoại không?

Viewport hẹp kiểm thử bố cục hẹp nhưng không mô phỏng hoàn toàn điện thoại. Hành vi nhập liệu, cách triển khai trình duyệt, môi trường hệ điều hành và khả năng thiết bị cần được xem xét riêng.

H: Tại sao kích thước ảnh chụp màn hình có thể khác kích thước viewport?

Kích thước ảnh chụp màn hình có thể khác vì vùng bắt hình và mật độ điểm ảnh tách biệt với kích thước bố cục CSS. Kiểm tra xem ảnh ghi lại viewport, phần tử hay toàn bộ tài liệu và công cụ phóng tỷ lệ đầu ra raster như thế nào.

Q: Thay đổi khung nhìn (viewport) có thể ảnh hưởng đến dữ liệu trích xuất không?

Thay đổi khung nhìn (viewport) có thể ảnh hưởng đến dữ liệu trích xuất khi ứng dụng thay đổi các control, tải chậm (lazy-load) bản ghi hoặc ảo hóa nội dung. Hãy xác thực danh tính bản ghi và tính đầy đủ của dữ liệu trong bố cục dự kiến.

Tài liệu tham khảo