Hướng dẫn amp custom javascript - bộ khuếch đại javascript tùy chỉnh
Show Hướng dẫn này cung cấp nền tảng về thành phần này và thực tiễn tốt nhất để sử dụng nó. Công nhân webJavaScript quá mức có thể làm cho các trang web chậm và không phản hồi. Để kiểm soát tải trang AMP của JavaScript và khi nó thực thi, các quy tắc xác thực của AMP cấm các nhà phát triển chạy JavaScript trong trang web thông qua thẻ Nhân viên web trình bày một cách để chạy JavaScript an toàn hơn. Thông thường tất cả JavaScript chạy trong một luồng duy nhất, nhưng mỗi công nhân chạy trong một luồng của riêng mình. Điều này là có thể bởi vì họ thiếu quyền truy cập vào đối tượng DOM hoặc Công nhân không đi kèm với quyền truy cập vào DOM. Để lấp đầy khoảng trống này, nhóm AMP đã tạo một thư viện nguồn mở có tên là Workerdom. Workerdom sao chép DOM lên DOM ảo và cung cấp bản sao cho công nhân. Công nhân cũng tái tạo một tập hợp con của API DOM tiêu chuẩn. Khi người lao động thực hiện các thay đổi đối với DOM ảo, công nhân đã tái tạo những thay đổi đó trong DOM thực. Điều này cho phép người lao động thao túng DOM và thực hiện các thay đổi trên trang bằng các kỹ thuật tiêu chuẩn. Việc đồng bộ hóa DOM chỉ đi theo một hướng. Nếu luồng chính sửa đổi DOM, không có cơ chế nào tồn tại để cho người lao động biết.
Tổng quan về amp-scriptNgôn ngữ JavaScript giống nhau ở một công nhân như ở nơi khác trong trình duyệt. Do đó, trong 1 và 2 và nó cung cấp cho bạn các đối tượng toàn cầu được chọn như 3 và 4. Bạn có thể chỉ định trình xử lý cho các sự kiện trình duyệt theo cách thông thường.Tuy nhiên,
8, bạn sử dụng 9. Đôi khi điều này là cần thiết cho các API DOM cung cấp quyền truy cập đồng bộ vào bố cục được tính toán và đôi khi để amp-script có thể gọi phương thức trình duyệt gốc và chờ phản hồi.Để duy trì sự đảm bảo của AMP về hiệu suất và sự ổn định bố cục, 3 không được hỗ trợ. Xem các tài liệu hướng dẫn để biết chi tiết.Sử dụng các khung JavaScriptVì API DOM không được hỗ trợ đầy đủ, làm thế nào tốt nhất là tiếp cận thao tác DOM trong 1) Biết những gì được hỗ trợ. Nhận biết bộ API được hỗ trợ phong phú. Bạn cần phải suy nghĩ về API DOM khác nhau - ít hơn như một tập hợp lớn các thuộc tính và phương thức được phát triển trong nhiều năm và nhiều hơn như một tập hợp các công cụ ngắn gọn. Get to know the rich set of supported APIs. You need to think about the DOM API differently - less as a large set of properties and methods that's developed over many years, and more as a concise set of tools. 2) Sử dụng Preact. Không chỉ phản ứng một cách phổ biến để xây dựng các trang web mà còn làm thay đổi DOM bằng cách sử dụng một tập hợp con của API DOM. Nhóm nghiên cứu đã thử nghiệm Vì 9 sẽ không hoạt động.Trường hợp sử dụng
Tuy nhiên, Tạo các tương tác mới
Điều đó nói rằng, trước khi chuyển sang Nếu bạn sử dụng Thêm logic nâng caoKhi logic của bạn không phù hợp với biểu thức nhỏ gọn, Tăng cường các thành phần amp
Thay thế AMP-Bind và AMP-ListNếu bạn chưa quen với AMP và bạn thoải mái với JavaScript, có thể hấp dẫn khi sử dụng Xử lý dữ liệu máy chủAMP cho phép bạn truy xuất dữ liệu máy chủ bằng Giới thiệu các khả năng mớiBạn có thể sử dụng 4 và 2. Nó hỗ trợ một loạt các sự kiện trình duyệt, vì vậy bạn có thể nghe các sự kiện vượt ra ngoài các sự kiện mà AMP chuyển sang các thành phần truyền thống. Và vì amp-script cung cấp quyền truy cập vào đối tượng 3, bạn có thể truy xuất thông tin về trình duyệt của người dùng hoặc ngôn ngữ ưa thích.Khi nào nên thay thế amp-bind và amp-listĐối với một nhà phát triển AMP mới, người thoải mái với JavaScript, có vẻ dễ dàng sử dụng
Tương tự, khi sử dụng API có đầu ra mà bạn điều khiển, bạn có thể triển khai logic kinh doanh trên máy chủ. Bạn có thể định dạng dữ liệu các đầu ra API để nó phù hợp với mẫu
Các thành phần AMP tương tác truyền thống cũng có thể phù hợp hơn với các tương tác trải rộng các phần lớn của trang web - vì bạn có thể không muốn bọc quá nhiều DOM trong một 9. amp-script 7 và amp-script 8 được tích hợp chặt chẽ với phần còn lại của AMP, giúp việc sử dụng ràng buộc ở bất cứ đâu trên trang web.Tuy nhiên, trên các trang liên quan đến các biến trạng thái phức tạp hơn hoặc nhiều tương tác, sử dụng
Bản demo này đã được tạo ra trước khi Trong nhiều trường hợp, bạn sẽ muốn sử dụng cả Mặc dù công nhân sẽ thay đổi DOM thực khi mã của bạn thay đổi DOM ảo mà nó có quyền truy cập, nhưng không có cơ chế nào tồn tại để đồng bộ hóa theo hướng ngược lại. Do đó, không nên sử dụng 9 của bạn. Dự trữ khu vực đó của trang cho JavaScript amp-script của bạn.Đóng góp cho amp-script
|