Tôi có nên tách các tệp javascript không?

Tạo tệp JavaScript bên ngoài với phần mở rộng. js. Sau khi tạo xong, thêm nó vào file HTML trong thẻ script. Thuộc tính src được sử dụng để bao gồm tệp JavaScript bên ngoài đó

Nếu bạn có nhiều tệp JavaScript bên ngoài, thì hãy thêm tệp đó vào cùng một trang web để tăng hiệu suất của trang

Hãy nói điều mới sau đây. js là tệp JavaScript bên ngoài của chúng tôi -

function display() {
   alert("Hello World!");
}

Bây giờ hãy thêm tệp JavaScript bên ngoài vào trang web HTML -

   
      
      
      
      
   

Tôi có nên tách các tệp javascript không?


Tôi có nên tách các tệp javascript không?

Nhiều trang web sử dụng các tệp javascript nằm ở một tên miền khác. Thông thường, điều này xảy ra khi chúng tôi sao chép-dán mã sẵn sàng sử dụng cho một tập lệnh (jquery, thanh trượt, thư viện, v.v.) mà chúng tôi tìm thấy trên internet. Thực tiễn này có thể dẫn đến nhiều vấn đề và đặc biệt là các vấn đề bảo mật nghiêm trọng cho cả quản trị viên trang web và khách truy cập. Trong bài viết này, chúng tôi sẽ đề cập đến các sự cố có thể phát sinh khi sử dụng các tệp js bên ngoài và những gì chúng tôi có thể làm để đạt được tính khả dụng và bảo mật tối đa

vấn đề sẵn có

Hãy xem xét chúng tôi có thanh trượt hình ảnh bằng cách sử dụng jquery và chúng tôi sử dụng ví dụ về tệp javascript bên ngoài. com/thanh trượt. js để thanh trượt hoạt động trong trang web của chúng tôi. Hãy xem những vấn đề nào có thể phát sinh đối với trang web của chúng tôi chỉ bởi thực tế đó là một tệp bên ngoài

Tên miền khác không khả dụng

Nếu tên miền chứa tệp (ví dụ. com) không hoạt động hoặc vì lý do nào đó không khả dụng (ví dụ: do sự cố định tuyến của nhà cung cấp internet), thì tập lệnh của chúng tôi sẽ không hoạt động vì tệp js bên ngoài sẽ không được tải. Ngay cả khi trang web của chúng tôi vẫn ổn và trực tuyến, tập lệnh sẽ không hoạt động và thanh trượt sẽ bị hỏng chỉ vì một số trang web khác, không liên quan, không hoạt động. Điều này hợp lệ cho google, microsoft và bất kỳ trang web nào khác mà bạn nghĩ sẽ trực tuyến mãi mãi

giảm tốc độ

Trình duyệt web mất nhiều thời gian hơn để tải tệp từ các trang bên ngoài vì nó truy vấn các trang thứ ba khiến trang tải chậm hơn. Một trang web bao gồm nhiều tệp (hình ảnh, video, javascript, v.v.). Đối với mỗi tệp, trình duyệt đưa ra yêu cầu tới máy chủ web để tải tệp đó. Nếu bạn chú ý đến dòng dưới cùng của trình duyệt web (ví dụ: Firefox) khi bạn truy cập một trang, nó sẽ hiển thị cho bạn các tệp mà nó tải. Các tệp cục bộ được tải nhanh hơn các tệp bên ngoài. Điều này hợp lệ cho mọi loại tệp, hình ảnh, javascript, css, v.v.

Tập tin không còn tồn tại nữa

Chủ sở hữu ví dụ. com có ​​thể xóa, đổi tên hoặc di chuyển tệp javascript mà bạn có liên kết bất kỳ lúc nào. toàn bộ ví dụ. com thậm chí có thể đóng hoàn toàn dưới dạng một trang web. Thanh trượt sẽ ngừng hoạt động và bạn sẽ phải vật lộn để hiểu tại sao điều này lại xảy ra. Trong trường hợp tên miền khác bị đóng, bạn sẽ gặp thêm sự cố khi tìm tệp js mà thanh trượt của bạn cần để hoạt động

Vấn đề an ninh

Bây giờ, những vấn đề nghiêm trọng nhất. Chủ sở hữu ví dụ. com bất cứ lúc nào cũng có thể thay đổi nội dung của tệp js hoặc thêm nội dung bổ sung vào tệp không liên quan đến chức năng của thanh trượt. Điều tương tự cũng có thể xảy ra với người thứ ba nếu ví dụ. com bị hack. Tin tặc không muốn bị chú ý và vì vậy rất có thể chúng sẽ để nguyên mã của thanh trượt - để các thanh trượt trên các trang web chúng sử dụng tiếp tục hoạt động - và thêm mã độc vào cuối tệp. Rất khó để nhận thấy một sự thay đổi như vậy. Mã độc bổ sung này trong tệp js có thể là gì? . Chỉ dành cho thông tin của bạn Elxis 4. 2+ sử dụng cookie CHỈ HTTP, điều đó có nghĩa là javascript không có quyền truy cập vào cookie do Elxis tạo. Vì vậy, ít nhất là cho Elxis 4. 2+ bạn an toàn trước mối đe dọa này, nhưng không an toàn cho các phiên bản cũ hơn hoặc các CMS/trang web khác

Họ thậm chí có thể thêm sự kiện onclick vào biểu mẫu đăng nhập để khi bạn nhấn nút gửi, tên người dùng và mật khẩu đăng nhập được gửi qua ajax tới e-mail hoặc được ghi vào tệp. Lưu ý rằng tin tặc không cần có quyền truy cập vào bất kỳ tệp nào trên trang web của bạn để thực hiện việc này. Anh ấy có thể làm mọi thứ từ tệp js mà anh ấy lưu trữ trên trang web của mình

Nếu bạn có một giỏ hàng, anh ta có thể đánh cắp thông tin chi tiết về thẻ tín dụng của khách hàng hoặc bất kỳ thông tin nào khác mà họ gửi trên trang web của bạn. Thông qua tệp js bên ngoài này và bằng cách sử dụng AJAX, người có quyền truy cập vào tệp có thể theo dõi các yêu cầu trên trang web của bạn và sao chép dữ liệu mà anh ta quan tâm ở một nơi khác

Giải pháp - Sử dụng liên kết nội bộ

Sợ hãi? . Nhưng đừng lo lắng, giải pháp rất đơn giản. Chỉ cần sao chép cục bộ tệp JS bên ngoài vào trang web của bạn và trong mã tích hợp của tập lệnh của bạn (ví dụ: thanh trượt), hãy thay đổi liên kết trỏ đến tệp bên ngoài (ví dụ. com/thanh trượt. js) vào đường dẫn của tệp cục bộ đã sao chép (my-own-site. com/cái gì đó/thanh trượt. js). Đó là tất cả

Tôi có nên có nhiều tệp JS không?

Bạn có thể viết JS của mình trong các tệp riêng biệt, nhưng khi triển khai, sẽ hiệu quả hơn nếu thu nhỏ tất cả chúng thành một tệp duy nhất . Đối với mỗi tập lệnh bạn tải trong trình duyệt của mình, bạn thực hiện một chuyến đi khứ hồi đến máy chủ, vì vậy sẽ rất hợp lý khi giảm thiểu những tập lệnh đó. Ngoài ra, hãy xem, ví dụ, nguồn jquery trên github.

Tất cả JavaScript của tôi có nên ở trong một tệp không?

Để tránh nhiều yêu cầu máy chủ, hãy nhóm các tệp JavaScript của bạn thành một . Bất cứ điều gì bạn sử dụng cho hiệu suất, hãy cố gắng giảm thiểu JavaScript để cải thiện thời gian tải trang web. Nếu bạn đang sử dụng ứng dụng một trang, thì hãy nhóm tất cả các tập lệnh trong một tệp.

Điều gì tốt hơn để tải một tệp JavaScript hoàn chỉnh trên tất cả các trang hoặc các tệp riêng biệt dựa trên các trang khác nhau?

Lợi ích của việc sử dụng một tệp JavaScript riêng thay vì viết mã JavaScript trực tiếp trong HTML là gì?

Lợi ích của việc sử dụng tệp JavaScript riêng bao gồm. .
Tách mã đánh dấu HTML và mã JavaScript để làm cho cả hai đơn giản hơn
Các tệp riêng biệt giúp bảo trì dễ dàng hơn
Khi các tệp JavaScript được lưu vào bộ đệm, các trang sẽ tải nhanh hơn