feat(Platform): allow DI override of userAgent

Đang mở
#33,751 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
68/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
angular, typescript
Lĩnh vực
frontend

Hướng nghiên cứu

Bắt đầu trong src/cdk/platform/platform.ts, nơi quyền truy cập toàn cục vào navigator.userAgent được định nghĩa, và kiểm tra thiết lập platform injection xung quanh. So sánh nguồn user-agent có thể injectable được yêu cầu với quyền truy cập DOCUMENT hiện có và xác minh kết quả trong SSR trong khi vẫn giữ nguyên hành vi của trình duyệt; hoàn tất khi các caller có thể ghi đè user agent thông qua DI.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area: cdk/platform feature gemini-triaged needs triage
Feature Description

Right now it is hardcoded as global navigator.userAgent:
https://github.com/angular/components/blob/main/src/cdk/platform/platform.ts

However in SSR there's a way to get userAgent from the request and accessing global entities is bad practice. Would be great if there was a token for userAgent like we do here, or maybe at least inject(DOCUMENT).defaultView?.navigator?.userAgent way of accessing it, rather than just global navigator.userAgent

Use Case

No response

Ngôn ngữ chính
TypeScript
Star
25k
Fork
6.8k
Merge trung bình
1 ngày 2 giờ
Pull request đã merge (30 ngày)
81

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của angular/components

Tất cả issue của angular/components

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.