2010-11-18 26 views
5

Dự án của tôi dựa trên JavaScript để tự động hiển thị nội dung trên một nhấp chuột siêu liên kết. Để làm cho nó làm suy giảm rõ ràng mà không cần kích hoạt JavaScript, tôi chỉ đơn giản là hiển thị tất cả các nội dung trang và sử dụng các siêu liên kết và neo để kết nối các phần.noscript để lọc thêm siêu liên kết - Làm sạch JavaScript làm suy giảm

Tôi dựa vào jQuery để xác định nhấp chuột của siêu liên kết bằng ID, vì vậy không có JavaScript tôi cần thêm vào neo.

Đây có phải là cách sử dụng tốt của bản ghi không? Chủ yếu, điều này sẽ luôn thêm siêu liên kết không có JavaScript?

<div id="link1"> 
    <noscript><a href="#link1content"></noscript> 
    1. Link Name Here 
    <noscript></a></noscript> 
</div> 

Trả lời

5

Các thành phần chứa khác các yếu tố, không chỉ thẻ. Thẻ bắt đầu và thẻ kết thúc phải nằm trong vùng chứa. A validator sẽ chọn cái này.

Bạn không nên sử dụng noscript cho điều này ngay từ đầu. Một cái gì đó hơn dọc theo dòng:

<a class="enhanced_in_some_way" href="#link1content">1. Link Name Here</a> 

với

jQuery('a.enhanced_in_some_way').click(function (event) { 
    var link = this; 
    var name = /#([^#]+$)/.exec(link.href); 
    do_something_with(name); 
    event.preventDefault(); 

}); 

... có lẽ là con đường phía trước.

0

Trong nhiều trình duyệt, thao tác này sẽ hoạt động nhưng tôi không khuyên bạn nên sử dụng. Nó hoàn toàn phá vỡ cấu trúc của HTML và không được bảo đảm để làm việc trong tất cả các trình duyệt hoặc thậm chí là các phiên bản tương lai của các trình duyệt mà nó hoạt động ngay bây giờ.

0

Thực ra, bạn không cần noscript tại đây. Đặt đích neo vào siêu liên kết theo mặc định và trong hàm nhấp chuột jQuery hoặc javascript của bạn, hãy kết thúc bằng return false hoặc event.preventDefault();. Điều này sẽ ngăn chặn liên kết bị theo sau nếu JavaScript được bật và kết quả là một neo được theo dõi nếu nó bị vô hiệu hóa. Bạn được bảo hiểm cả hai cách với chi phí tối thiểu.

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