Hướng dẫn can you have multiple scripts in html - bạn có thể có nhiều tập lệnh trong html không

Câu trả lời đơn giản:

Trong một kịch bản đơn giản [các thẻ là một phần của văn bản HTML gốc], trình duyệt chắc chắn thực hiện chúng từng người khác.

Thảo luận chi tiết với các cảnh báo khác nhau

JavaScript không nhất thiết là một luồng đơn [nó phụ thuộc vào việc triển khai công cụ JavaScript của bạn, ví dụ: xem nhân viên web].

Nhưng, các thẻ cá nhân được thực thi tuần tự.

Để tham khảo, vui lòng xem JavaScript: The Definitive Guide. Trích dẫn chương "12.3. Thực hiện các chương trình JavaScript":

Các câu lệnh JavaScript xuất hiện giữa và các thẻ được thực thi theo thứ tự xuất hiện; Khi có nhiều tập lệnh xuất hiện trong một tệp, các tập lệnh được thực thi theo thứ tự chúng xuất hiện. Nếu một tập lệnh gọi document.write [], bất kỳ văn bản nào được chuyển đến phương thức đó được chèn vào tài liệu ngay sau khi thẻ đóng và được trình phân tích cú pháp HTML phân tích cú pháp HTML khi tập lệnh hoàn thành chạy. Các quy tắc tương tự áp dụng cho các tập lệnh được bao gồm từ các tệp riêng biệt với thuộc tính SRC.

Xin lưu ý rằng những điều trên chỉ đúng với việc thực thi mã "thẳng lên" trong các thẻ. Tuy nhiên, thứ tự có thể bị ảnh hưởng bởi:

  • setTimeout[] cuộc gọi [duh]

  • Thuộc tính trì hoãn

  • Đính kèm động của các thẻ - Xem phần cuối cùng của câu trả lời này.

Như một cảnh báo, xin lưu ý rằng mã JavaScript được tải bên ngoài thông qua vẫn sẽ được thực thi tuần tự, nhưng, hoàn toàn có khả năng trình duyệt sẽ tải xuống mã song song - phụ thuộc vào việc triển khai trình duyệt [nhưng vẫn lên lịch thực hiện các đoạn mã đã tải xuống trong đúng thứ tự].caveat, please note that JavaScript code loaded externally via would still be executed sequentially, BUT, it is quite possible that the browser would DOWNLOAD the code in parallel - depends on browser implementation [but still schedule the execution of downloaded code snippets in correct order].

Sự cảnh báo này rất quan trọng trong trường hợp bạn muốn có một số hack kỳ lạ trong khi URL cho nguồn JavaScript thực sự là một tập lệnh CGI thực hiện một cái gì đó và bạn cố gắng phụ thuộc vào đúng thứ tự tải xuống cho logic trong tập lệnh.

Một lần nữa, nó sẽ không có liên quan đến thứ tự thực hiện của Trình duyệt JS Engine của các phần kịch bản đó.

Tuy nhiên, một cảnh báo quan trọng hơn nhiều là nếu bạn thực sự đính kèm các thẻ với các nguồn bên ngoài một cách linh hoạt [ví dụ: thông qua cuộc gọi appendChild[]], theo bài đăng này, cũng như blog MSDN mà bài đăng dựa trên Không đảm bảo thứ tự thực hiện! Nó sẽ phụ thuộc vào mã của thẻ nào đã hoàn thành tải xuống đầu tiên!important caveat is that if you actually attach the tags with external sources dynamically [e.g. via appendChild[] call], according to this SO post, as well as the MSDN blog the post was based on, non-IE browsers do NOT guarantee the order of execution! It will depend on which tag's code finished downloading first!

Thẻ tập lệnh HTML được sử dụng để nhúng dữ liệu hoặc ngôn ngữ tập lệnh phía máy khách có thể thực thi trong trang HTML. Hầu hết, mã API dựa trên JavaScript hoặc JavaScript bên trong thẻ

DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


0.

Sau đây là một ví dụ về trang HTML chứa mã JavaScript trong thẻ .

DOCTYPE html>




     JavaScript Tutorials
  
    
        //write JavaScript code here..
        alert['Hello, how are you?']
    


Trong ví dụ trên, thẻ

DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


0 chứa JavaScript
DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


3 hiển thị hộp thông báo.

HTML V4 yêu cầu thuộc tính

DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


4 để xác định ngôn ngữ của mã tập lệnh được nhúng trong thẻ tập lệnh. Điều này được chỉ định là loại MIME, ví dụ: 'Text/JavaScript', 'Text/Ecmascript', 'Text/VBScript', v.v.

Trang HTML V5 không yêu cầu thuộc tính

DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


4 vì ngôn ngữ tập lệnh mặc định là 'Text/javaScript' trong thẻ .

Một trang HTML có thể chứa nhiều thẻ trong thẻ

DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


8 hoặc
DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


9. Trình duyệt thực thi tất cả các thẻ tập lệnh, bắt đầu từ thẻ tập lệnh đầu tiên từ đầu.

Các tập lệnh không có các thuộc tính

DOCTYPE html>


    


     JavaScript Tutorials
  


0,
DOCTYPE html>


    


     JavaScript Tutorials
  


1 hoặc
DOCTYPE html>


    


     JavaScript Tutorials
  


2, cũng như các tập lệnh nội tuyến, được tìm nạp và thực thi ngay lập tức, trước khi trình duyệt tiếp tục phân tích trang. Xem xét trang sau với nhiều thẻ tập lệnh.

DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


Ở trên, thẻ đầu tiên có chứa

DOCTYPE html>


    


     JavaScript Tutorials
  


4 sẽ được thực thi trước, sau đó
DOCTYPE html>


    


     JavaScript Tutorials
  


5 sẽ được thực thi và sau đó
DOCTYPE html>


    


     JavaScript Tutorials
  


6 sẽ được thực thi.

Trình duyệt tải tất cả các tập lệnh có trong thẻ

DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


8 trước khi tải và hiển thị các phần tử thẻ
DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


9. Vì vậy, luôn bao gồm các tệp/mã JavaScript trong
DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


8 sẽ được sử dụng trong khi hiển thị giao diện người dùng. Tất cả các tập lệnh khác nên được đặt trước thẻ 0 kết thúc. Bằng cách này, bạn có thể tăng tốc độ tải trang.

Tham khảo tệp tập lệnh bên ngoài

Thẻ cũng có thể được sử dụng để bao gồm một tệp tập lệnh bên ngoài vào trang web HTML bằng cách sử dụng thuộc tính 2.

Nếu bạn không muốn viết mã JavaScript nội tuyến trong thẻ

DOCTYPE html>


    
        alert['Executing JavaScript 1']
    


     JavaScript Tutorials
  
    
        alert['Executing JavaScript 2']
    
    
    This page contains multiple script tags.
    
    
        alert['Executing JavaScript 3']
    


0, thì bạn cũng có thể viết mã JavaScript trong một tệp riêng với tiện ích mở rộng 4 và đưa nó vào trang web bằng cách sử dụng thẻ và tham chiếu tệp qua thuộc tính SRC.

DOCTYPE html>


    


     JavaScript Tutorials
  


Ở trên, 5 trỏ vào tệp JavaScript bên ngoài bằng thuộc tính 6 trong đó giá trị của thuộc tính 2 là đường dẫn hoặc URL mà tệp cần được tải trong trình duyệt. Lưu ý rằng bạn có thể tải các tệp từ miền của mình cũng như các tên miền khác.

Thuộc tính toàn cầu

có thể chứa các thuộc tính toàn cầu sau:

Thuộc tínhCách sử dụng
không đồng bộ9 thực thi tập lệnh không đồng bộ cùng với phần còn lại của trang.
CrossorignJavaScript: The Definitive Guide0 cho phép ghi nhật ký lỗi cho các trang web sử dụng miền riêng cho phương tiện tĩnh. Giá trị JavaScript: The Definitive Guide1 Không gửi thông tin đăng nhập, trong khi JavaScript: The Definitive Guide2 gửi thông tin đăng nhập.
hoãn lạiJavaScript: The Definitive Guide3 thực thi tập lệnh sau khi tài liệu được phân tích cú pháp và trước khi bắn sự kiện DomContentLoaded.
SRCJavaScript: The Definitive Guide4 Chỉ định URI/đường dẫn của tệp tập lệnh bên ngoài;
loại hìnhJavaScript: The Definitive Guide5 Chỉ định loại tập lệnh chứa, ví dụ: Text \ JavaScript, Text \ Html, Text \ Plain, application \ json, application \ pdf, v.v.
Giới thiệuJavaScript: The Definitive Guide6 Chỉ định thông tin giới thiệu nào để gửi khi tìm nạp tập lệnh. Các giá trị có thể là không tham khảo, không tham gia-khi xuống cấp, nguồn gốc, đồng nghĩa, nguồn gốc nghiêm ngặt, v.v.
sự toàn vẹnJavaScript: The Definitive Guide7 Chỉ định rằng một tác nhân người dùng có thể sử dụng để xác minh rằng tài nguyên được tìm nạp đã được cung cấp miễn phí thao tác bất ngờ.
NomoduleJavaScript: The Definitive Guide8 Chỉ định rằng tập lệnh không nên được thực thi trong các trình duyệt hỗ trợ các mô -đun ES2015.

Bạn muốn kiểm tra xem bạn biết JavaScript bao nhiêu?

Bạn có thể thêm bao nhiêu thẻ script vào tệp HTML?

Bạn có thể đặt bất kỳ số lượng tập lệnh nào trong tài liệu HTML.any number of scripts in an HTML document.

Bạn có thể có nhiều hơn một kịch bản?

Có, bạn có thể có nhiều thẻ tập lệnh trong tài liệu HTML.Thứ tự của thẻ tập lệnh rất quan trọng, thẻ đến trước được thực thi trước.Vì vậy, thông thường chúng tôi sẽ đặt các tệp tập lệnh bên ngoài lên hàng đầu và sau đó chúng tôi thêm bất kỳ tập lệnh tùy chỉnh nào sử dụng các thư viện này.. The order of the script tag is important, the tag that comes first is executed first. So, normally we will put the external script files first and then we add any custom script that uses these libraries.

Có bao nhiêu tập lệnh có thể được nhúng trong tài liệu HTML5?

[Chỉ có thể có một tập lệnh như vậy trên mỗi tài liệu.]one such script per Document at a time.]

Làm cách nào để sử dụng nhiều tệp JavaScript trong một trang HTML?

Bạn có thể lưu trữ một hoặc nhiều tập lệnh JavaScript của bạn trong một.Tệp JS và truy cập chúng từ nhiều trang HTML.Đặt tập lệnh vào một tệp JavaScript bên ngoài. Nếu bạn đã có tập lệnh bên trong trang HTML của bạn, hãy xóa tất cả mã JavaScript bên trong thẻ và dán nó vào một tệp riêng.Put the script in an external JavaScript file. If you have the script already inside your HTML page, remove all the JavaScript code inside the tag and paste it into a separate file.

Bài Viết Liên Quan

Chủ Đề