2009-06-29 5 views
20

Tôi đang sử dụng để bao gồm và sử dụng JS như vậy:JavaScript: Inline Script với thuộc tính SRC?

<script type='text/javascript' src='/path/to/script.js'></script> 
.... 
<script type='text/javascript'> 
    alert('Do some stuff here, using resources defined in script.js.'); 
</script> 

Chỉ vì tò mò, không ai biết các quy tắc để có một kịch bản nội tuyến với một attrib src, như:

<script type='text/javascript' src='/path/to/script.js'> 
    alert('Do some stuff here, using resources defined in script.js.'); 
</script> 

Tôi có thể kiểm tra những gì xảy ra trong các trình duyệt khác nhau, nhưng muốn biết hành vi chính thức là gì.

Trả lời

25

Đây là một hoặc cái khác, không phải cả hai. Thuộc tính src của thẻ <script> được ưu tiên hơn phần thân của thẻ.

HTML 4.01 Specification:

Các kịch bản có thể được định nghĩa trong nội dung của phần tử SCRIPT hoặc trong một tập tin bên ngoài. Nếu thuộc tính src không được đặt, tác nhân người dùng phải giải thích nội dung của phần tử là tập lệnh . Nếu số src có giá trị URI, tác nhân người dùng phải bỏ qua nội dung của phần tử và truy xuất tập lệnh qua URI.

+1

Đã bỏ qua 6 giây! – harto

+3

Không nhận ra tôi đang đua. :-) – artlung

+2

Đây là liên kết đến [HTML5 spec] mới hơn (http://www.w3.org/TR/html5/scripting-1.html#inline-documentation-for-external-scripts) (xem văn bản ở trên ví dụ mã) – royhowie

4

Các đặc điểm kỹ thuật HTML khẳng định

Nếu src có một giá trị URI, người dùng đại lý phải bỏ qua nội dung của phần tử và lấy kịch bản qua URI.

3

Từ HTML 4 standard:

Nếu thuộc tính src không được thiết lập, sử dụng đại lý phải giải thích nội dung của các yếu tố như kịch bản. Nếu src có giá trị URI, tác nhân người dùng phải bỏ qua nội dung của phần tử và truy xuất tập lệnh qua URI.