18 điểm bởi xguru 2022-03-14 | 4 bình luận | Chia sẻ qua WhatsApp
  • Nếu nhập các lệnh dưới đây trong Terminal trên máy Mac, menu "Inspect Element" sẽ được kích hoạt trên các webview mà hệ thống sử dụng,
    cho phép xem mọi webview trong các hộp thoại hệ thống bằng công cụ dành cho nhà phát triển giống như với các website thông thường
    defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
    defaults write -g WebKitDeveloperExtras -bool YES
  • Có thể thấy cách các kỹ sư Apple dùng các từ khóa CSS không tiêu chuẩn của WebKit để tái hiện nguyên vẹn trên web giao diện người dùng macOS được phát triển bằng API hệ thống
    → Ví dụ: trong tab Chia sẻ gia đình của Apple Music còn có thể thấy họ dùng React, và cũng thấy cả những thứ như web component
  • Qua đó có thể quan sát lý do vì sao một số tính năng cụ thể của WebKit/Safari được cung cấp
    → Ví dụ: mô-đun phông chữ CSS4 hỗ trợ phông chữ hệ thống. font-family : -apple-system

4 bình luận

 
spilist2 2022-03-14

Wow, thật thú vị. Nhưng tôi cũng tò mò không biết người ta đã phát hiện ra những thứ như thế này bằng cách nào, mà bài lại không nói đến nên hơi tiếc.

 
spilist2 2022-03-14

Luồng trả lời: https://twitter.com/samhenrigold/status/1503179818879401987

tôi muốn tìm hiểu cách ứng dụng iTunes Store hoạt động. chạy proxy rồi tự tay kiểm tra HTML khá là cực nên tôi bắt đầu tìm trên mạng xem có giá trị pref nào có thể ghi vào để bật dev tools không.

Tôi không tìm được gì, nên tôi trích xuất các chuỗi (https://macworld.com/article/192447/findhidden.html) từ binary của iTunes và các framework WebKit, chủ đích tìm những key có thể hữu ích. Không tìm thấy gì cho iTunes, nhưng những mục tôi tìm được lại bật được inspector ở nơi khác!

 
xguru 2022-03-14

Có vẻ như việc bật mục WebkitDeveloperExtras đã được biết đến từ khá lâu rồi. Có một câu hỏi trên Stack Overflow từ 12 năm trước.
https://stackoverflow.com/questions/695038/…
Tôi nghĩ có lẽ chỉ đến gần đây Apple mới bắt đầu dùng webview trong hệ thống.

 
spilist2 2022-03-14

Tôi đã hỏi trên Twitter vì tò mò về quá trình suy nghĩ: làm sao anh ấy lại nghĩ đến việc inspect các ứng dụng mặc định của Mac, và rồi làm sao biết được cách inspect (chẳng hạn như sự tồn tại của lệnh đó)... hóa ra đây là một cách đã được biết đến. Không rõ họ có trả lời hay không, nhưng nếu có phản hồi thì tôi cũng sẽ chia sẻ lại ở đây.