Pokaż komunikat, jeśli javascript jest wyłączony po stronie klienta przy użyciu znacznika noscript

Chcę oznaczyć wiadomość, jeśli javascript jest wyłączony po stronie klienta. Szukałam tutaj i znalazłam <noscript> tag do obsługi tych rzeczy.

Zrobiłem to w edytorze w3schools, aby sprawdzić, ale nie działa daj mi znać, czy to <noscript> nie jest przeznaczone do tego, czy czegoś innego mi brakuje w tej części ?

Tutaj wpisz opis obrazka

Author: Trialcoder, 2013-03-05

6 answers

Spróbuj Tego:-

How to detect JavaScript is disabled in browser?

Jak wiemy, tag jest używany w JavaScript. W ten sam sposób jest tag, który dostaje się w akcji, gdy JavaScripts wyłączone w przeglądarce.

<script>Put Sample code here for execution when JavaScript is Active </script>
<noscript>Put Sample code here for execution when JavaScript is Disabled</noscript>

Jak obsługiwać wyłączoną obsługę JavaScript w przeglądarce?

Gdy JavaScript jest wyłączony, po prostu próbował przekierować do jakiejś strony, gdzie możemy wyświetlić komunikat, że Javascript jest wyłączony. Istnieje meta tag w HTML o nazwie "meta refresh", który przekieruje użytkownika na inną stronę w interwale określonym w tym nagłówek.

<noscript>
  <META HTTP-EQUIV="Refresh" CONTENT="0;URL=ShowErrorPage.html">
</noscript>

Ponieważ widzimy powyższy kod wewnątrz noscriptu, istnieje znacznik " meta refresh "z interwałem" 0 " sekundy. Ponieważ JavaScript jest wyłączony na tej stronie, przeglądarka zostaje przekierowana do "ShowErrorPage.html", aby pokazać komunikat ostrzegawczy.

Mam nadzieję, że to ci pomoże.
 37
Author: Rubyist,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-05 09:08:06

Masz rację . Znacznik <noscript> jest używany do wyświetlania tylko wtedy, gdy JavaScript jest wyłączony. Abyprzetestować to, wykonaj następujące czynności:

  • Zapisz ten fragment w pliku " test.html".
  • otwórz go browerem.
  • Enable / Disable JavaScript (w Firefoksie jest to tutaj: Tools/Options/Content/Enable JS).

Jak widzisz, możesz umieścić dowolny HTML wewnątrz znacznika <noscript>, który umieścisz wewnątrz treści strony.

<html>
  <body>
    <h1>Simple Example Page</h1>
    <script type="text/javascript">
      document.write("Hi, JavaScript is enabled!");
    </script>
    <noscript>
      <div style="border: 1px solid purple; padding: 10px">
        <span style="color:red">JavaScript is not enabled!</span>
      </div>
    </noscript>
  </body>
</html>
 7
Author: jensP,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-16 15:24:10
<noscript>
   <META HTTP-EQUIV="Refresh" CONTENT="0;URL=ShowErrorPage.html">
</noscript>

Nie jest dobrym rozwiązaniem, ponieważ IE11 (i poprzedni) mają opcję bezpieczeństwa, która po ustawieniu na 'wysoki' wyłącza zarówno znaczniki Javascript, jak i Meta Refresh!

Najlepsze rozwiązanie, jakie znalazłem, aby zająć się tą sprawą to:

<noscript class="noscript">
   <div id="div100">
   Please enable javascript in your browser .... blah blah
   </div>
</noscript>

<style>
   body{
      position:relative;
   }
   .noscript {
      width:100%;
      height:100%; /* will cover the text displayed when javascript is enabled*/
      z-index:100000; /* higher than other z-index */
      position:absolute;
   }
   .noscript #div100{
       display:block;
       height:100%;
       background-color:white; 
   }
</style> 
 6
Author: frank,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-22 20:14:05

<noscript> jest przeznaczony do tego typu rzeczy, tak jak {[2] } jest przeznaczony do JS. Należy pamiętać, że używanie znacznika meta refresh:

<noscript>
  <META HTTP-EQUIV="Refresh" CONTENT="0;URL=ShowErrorPage.html">
</noscript>

Oznacza, że można to łatwo wyłączyć w IE (co najmniej IE10), zwiększając bezpieczeństwo opcji internetowych (które prawdopodobnie zostało użyte do wyłączenia JS w pierwszej kolejności). Opcja "Zezwól na odświeżanie META" jest wyłączona po zwiększeniu ustawień zabezpieczeń.

 2
Author: RickL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-09 09:26:41

Umieść wiadomość "nie obsługuje" w div I użyj JavaScript, aby ukryć div, gdy strona ładuje się

 1
Author: thesimm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-05 08:45:45

Możesz użyć tej samej metody używanej przez stackoverflow. Zobacz mój link jsfiddle. Gdy Javascript jest wyłączony, w pierwszym bloku noscript, tuż po tagu body, przejdź do dodania wypełnienia-top do pustego podrzędnego div, dzięki czemu możesz dodać żądaną zawartość do swojego ciała, a następnie, w końcu, kolejny blok noscript ze stałą pozycją div wewnątrz, z żądanym komunikatem ostrzegawczym. Spróbuj go uruchomić, z włączoną obsługą javascript i bez niej. Daj mi znać! :)

Zobacz kod tutaj: https://jsfiddle.net/go60f00n/

<noscript>
         <div id='noscript_padding'></div>
      </noscript>
      <div>
         <p>Lorem ipsum dolor sit amet consectetuer tincidunt nunc ac faucibus mattis. Gravida tempus turpis Morbi vitae sed Suspendisse auctor dignissim nulla adipiscing. Adipiscing justo lacinia justo Vivamus Vestibulum amet ut Donec vitae aliquet. Orci tempus orci Donec nibh eget tellus pede semper adipiscing leo. A et id sagittis velit venenatis.</p>
         <p>Tellus ridiculus ipsum pretium condimentum Ut elit sed vitae amet In. Curabitur ipsum elit interdum tortor semper at dolor justo consequat leo. Id fermentum vitae tincidunt pretium lacus leo Cras urna risus urna. Pretium Vestibulum et euismod nec pede et tincidunt condimentum laoreet vel. Dolor vestibulum laoreet habitant a Nulla.</p>
         <p>Lobortis lobortis quis elit mollis quis risus Morbi in augue montes. Mauris ipsum libero tellus et Quisque id non justo nibh dui. Dui nisl at Fusce Curabitur interdum tincidunt sed Vestibulum platea justo. At ut ante eget ac sem sed nulla id nunc mus. Velit In faucibus a auctor Sed Morbi habitasse est urna natoque. </p>
      </div>
      <noscript>
         <div id='noscript_warning'>Please enable Javascript!</div>
      </noscript>   

Więc kod css:

html, body {
            margin: 0;
            padding: 0;
            height: 100%;
         }

         p {
            margin: 0;
         }

         #noscript_padding {
            padding-top: 1.9em;
         }

         #noscript_warning {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 101;
            text-align: center;
            font-weight: bold;
            color: #FFF;
            background-color: #AE0000;
            padding: 5px 0 5px 0;
         }
 0
Author: JB-Franco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-19 17:54:28