2012-02-22 35 views
9

Tôi đang tìm một giải pháp để hiển thị cho khách truy cập trang web của tôi một thông báo thông tin, nếu anh ấy không bật javascript. Tôi đã thử nó với một tin nhắn trong một div, được hiển thị theo mặc định nhưng ngay lập tức bị ẩn bởi một hàm jQuery khi khởi động. Vấn đề là, thông điệp đó có thể nhìn thấy trong một thời gian ngắn (cho đến khi nó được ẩn), những gì là rất khó chịu.Hiển thị thông báo nếu javascript không được bật trong trình duyệt

Có cách nào khác để hiển thị thông báo không, nếu JS chưa được bật?

Cảm ơn, Konrad

Trả lời

29

Sử dụng thẻ noscript:

<noscript> 

    <div class="awesome-fancy-styling"> 
    This site requires JavaScript. I will only be visible if you have it disabled. 
    </div> 
    ... 
</noscript> 

Xem https://developer.mozilla.org/en/HTML/Element/noscript.

+0

Oh cảm ơn bạn ... noscript ... đơn giản như vậy :-) – Konrad

+0

Nên có một loại cho câu hỏi "gimme" ... oh, tôi đoán '[Duplicate]'. ;-) – RobG

3

Bạn có thể sử dụng noscript, bên trong các thẻ này là những gì sẽ hiển thị nếu người dùng đã tắt javascript.

Nếu bạn muốn ẩn các nội dung khác nếu người dùng không có kích hoạt javascript, bạn có thể làm một cái gì đó giống như vậy (này sử dụng jquery):

<style type="text/css"> 
    .example { 
     display: none; 
    } 
</style> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('.example').show(); 
    }); 
</script> 

<div class="example"> 
    <p>...</p> 
</div> 

<noscript> 
    <p>You must have javascript enabled for the example div to show!</p> 
</noscript> 

này sẽ chỉ hiển thị các nội dung nếu người dùng đã bật javascript.

+1

Đây là câu trả lời hữu ích nhất bởi vì đôi khi bạn chỉ muốn ẩn nội dung của webtemplates cung cấp lựa chọn thay thế cho no-javascript (vì vậy thay vì một hình ảnh lớp phủ với nút "x", không có javascript bạn chỉ cần mở một trang mới với URL) – GameDeveloper

1

Bạn có thể sử dụng '' và cung cấp thông báo lỗi bạn muốn.

<html> 
    <body> 

    <script language="javascript" type="text/javascript"> 
    <!-- 
     document.write("Hello World!") 
    //--> 
    </script> 

    <noscript> 
    Sorry...JavaScript is needed to go ahead. 
    </noscript> 

    </body> 
    </html> 
1

Tôi đã thử một vài lựa chọn sử dụng noscriptnone làm việc cho tôi.

tôi đã kết thúc bằng:

<p align=center id=js_disabled_message> 
    x.com requires JavaScript Enabled <br> <a href="https://www.enable-javascript.com/">www.enable-javascript.com</a> 
</p> 
<script> 
    document.getElementById('js_disabled_message').style.display = 'none'; 
</script> 

Mà sẽ ẩn các thẻ p, chỉ nếu js được kích hoạt.
Đó là một loại logic opossite để phát hiện nếu JavaScript được bật, nhưng nó hoạt động tốt trong tất cả các trình duyệt.

SRC

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