Hướng dẫn how add javascript to blazor? - cách thêm javascript vào blazor?
Bỏ qua nội dung chính Trình duyệt này không còn được hỗ trợ. Show
Nâng cấp lên Microsoft Edge để tận dụng các tính năng mới nhất, cập nhật bảo mật và hỗ trợ kỹ thuật. ASP.NET Core Blazor JavaScript Khả năng tương tác (JS Interop)
Trong bài viết nàyBài viết này giải thích các khái niệm chung về cách tương tác với JavaScript trong các ứng dụng Blazor. Một ứng dụng Blazor có thể gọi các hàm JavaScript (JS) từ các phương thức .NET và các phương thức .NET từ các hàm JS. Các kịch bản này được gọi là khả năng tương tác JavaScript (JS Interop). Hướng dẫn xen kẽ JS được cung cấp trong các bài viết sau:
Tương tác với mô hình đối tượng tài liệu (DOM)Chỉ làm biến đổi mô hình đối tượng tài liệu (DOM) với JavaScript (JS) khi đối tượng không tương tác với Blazor. Blazor duy trì các biểu diễn của DOM và tương tác trực tiếp với các đối tượng DOM. Nếu một phần tử được hiển thị bởi blazor được sửa đổi bên ngoài bằng cách sử dụng JS trực tiếp hoặc qua JS Interop, DOM có thể không còn khớp với biểu diễn bên trong của Blazor, có thể dẫn đến hành vi không xác định. Hành vi không xác định có thể chỉ can thiệp vào việc trình bày các yếu tố hoặc chức năng của chúng nhưng cũng có thể đưa ra rủi ro bảo mật cho ứng dụng hoặc máy chủ. Hướng dẫn này không chỉ áp dụng cho mã Interop JS của riêng bạn mà còn cho bất kỳ thư viện JS nào mà ứng dụng sử dụng, bao gồm bất cứ thứ gì được cung cấp bởi khung của bên thứ ba, chẳng hạn như Bootstrap JS và JQuery. Trong một vài ví dụ tài liệu, JS Interop được sử dụng để làm biến đổi một yếu tố hoàn toàn cho mục đích trình diễn như là một phần của một ví dụ. Trong những trường hợp đó, một cảnh báo xuất hiện trong văn bản. Để biết thêm thông tin, hãy xem các hàm JavaScript từ các phương thức .NET trong blazor Core ASP.NET. Các cuộc gọi JavaScript không đồng bộCác cuộc gọi interop của JS không đồng bộ theo mặc định, bất kể mã được gọi là đồng bộ hay không đồng bộ. Các cuộc gọi không đồng bộ theo mặc định để đảm bảo rằng các thành phần tương thích trên cả hai mô hình lưu trữ blazor, máy chủ blazor và webassebly blazor. Trên máy chủ Blazor, các cuộc gọi interop của JS phải không đồng bộ vì chúng được gửi qua kết nối mạng. Đối với các ứng dụng độc quyền áp dụng mô hình lưu trữ webassebly blazor, các cuộc gọi interop JS đồng bộ được hỗ trợ. Để biết thêm thông tin, hãy xem các bài viết sau:
Đối tượng tuần tự hóaBlazor sử dụng System.Text.json để tuần tự hóa với các yêu cầu sau và hành vi mặc định:
API JsonConverter có sẵn để tuần tự hóa tùy chỉnh. Các thuộc tính có thể được chú thích bằng thuộc tính 0 để ghi đè lên tuần tự hóa mặc định cho một kiểu dữ liệu hiện có.Để biết thêm thông tin, hãy xem các tài nguyên sau trong tài liệu .NET:
Blazor hỗ trợ tối ưu hóa mảng byte JS Interop để tránh mã hóa/giải mã các mảng byte vào base64. Ứng dụng có thể áp dụng tuần tự hóa tùy chỉnh và vượt qua các byte kết quả. Để biết thêm thông tin, hãy xem các hàm JavaScript từ các phương thức .NET trong blazor Core ASP.NET. Khởi tạo JavaScriptBộ khởi tạo JavaScript (JS) thực thi logic trước và sau khi ứng dụng Blazor tải. Bộ khởi tạo JS rất hữu ích trong các kịch bản sau:
Bộ khởi tạo JS được phát hiện như là một phần của quy trình xây dựng và được nhập tự động trong các ứng dụng Blazor. Việc sử dụng các bộ khởi tạo JS thường loại bỏ sự cần thiết phải kích hoạt thủ công các chức năng tập lệnh khỏi ứng dụng khi sử dụng Thư viện lớp Dao cạo (RCLS). Để xác định trình khởi tạo JS, hãy thêm mô -đun JS vào dự án có tên 2, trong đó trình giữ chỗ 3 là tên lắp ráp, tên thư viện hoặc định danh gói. Đặt tệp trong gốc web của dự án, thường là thư mục 4.Mô -đun xuất hoặc cả hai chức năng thông thường sau:
Ví dụ sau đây cho thấy các bộ khởi tạo JS cho 6 và 3. Đối với tên tệp của ví dụ sau:
Ghi chú Các ứng dụng MVC và Dao cạo không tự động tải Bộ khởi tạo JS. Tuy nhiên, mã nhà phát triển có thể bao gồm một tập lệnh để tìm nạp bản kê khai của ứng dụng và kích hoạt tải của các bộ khởi tạo JS. Để biết các ví dụ về khởi tạo JS, hãy xem các tài nguyên sau:
Vị trí của JavaScriptTải mã JavaScript (JS) bằng bất kỳ cách tiếp cận nào sau đây:
Cảnh báo Không đặt thẻ 0 trong tệp thành phần dao cạo ( 1) vì thẻ 0 không thể được Blazor cập nhật động.Ghi chú Các ví dụ tài liệu thường đặt các tập lệnh trong thẻ 0 hoặc tải các tập lệnh toàn cầu từ các tệp bên ngoài. Những cách tiếp cận này gây ô nhiễm cho khách hàng với các chức năng toàn cầu. Đối với các ứng dụng sản xuất, chúng tôi khuyên bạn nên đặt JavaScript vào các mô -đun JavaScript riêng biệt có thể được nhập khi cần. Để biết thêm thông tin, hãy xem phần cô lập JavaScript trong phần Mô -đun JavaScript.Tải một tập lệnh trong đánh dấu var module = await JS.InvokeAsync |