2012-06-13 20 views
7

Cho đến nay tôi biết, 4 cách khác nhau để xác định & gọi JavaScript trong trang webCó bao nhiêu cách khác nhau để gọi JS bên trong Tài liệu html?

1.inline JS

<script type='text/javascript'> ... </script> 

2.External JS

<script src="someURL"></script> 

3.Event hander JS:

<input type="button" onclick="...javascript..."   

4.JavaScript: URL

<a href="javascript: ...JS CODE...">js</a> 

Có cách nào khác có thể chèn JS vào trang web không? Có nó (bao nhiêu cách) đã được xác định trong bất kỳ đặc điểm kỹ thuật tiêu chuẩn?

Có sự khác biệt nào trong ngữ cảnh thực thi JavaScript trong 4 cách khác nhau được đề cập không?

+0

Bạn có muốn biết các cách cụ thể về nền tảng/khung công tác không? – SomeKittens

+1

Bạn đang cố gắng thực hiện điều gì không được xử lý bởi một trong 4 phương pháp này? –

+1

@BabakNaffas Câu hỏi này sẽ áp dụng tốt để cố gắng loại bỏ JS khỏi HTML do người dùng gửi. –

Trả lời

1

1 và 2 về cơ bản giống nhau, chỉ 2 là tệp bên ngoài và 1 có nội dung ngay tại đó.

3 và 4 cùng các dòng tương tự với eval. 3 xác định this làm yếu tố sự kiện được bật.

Đó là về nó. Nếu có bất kỳ cách nào khác để bao gồm JS, tôi chưa bao giờ nghe nói về chúng.

+0

'' sẽ hoạt động trong IE6 theo http://ha.ckers.org/xss.html – Esailija

+0

'this' là cửa sổ nếu bạn gọi hàm. Nó cực kỳ quan trọng để nói! – gdoron

6

Thực tế có khá nhiều cách để thực thi Javascript trong HTML, tất cả đều khác nhau trên các trình duyệt và nền tảng.

Rất nhiều người trong số họ (nhưng không phải tất cả) được liệt kê trong số infamous XSS cheatsheet này.

Trong số những người ít mơ hồ, có những:

<img src="javascript:..."> 
<body background="javascript:..."> 
<style>BODY{-moz-binding:url("...")}</style> 
<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:..."> 

... và vân vân.

Các vấn đề liên quan