/ / Jak przekierować, jeśli javaScript jest wyłączony? - javascript, przekierowanie

Jak przekierować, jeśli JavaScript jest wyłączony? - javascript, przekierowanie

Mam witrynę, która w dużym stopniu opiera się na javaScript. Stworzyłem witrynę lustrzaną, która zawiera wszystkie JS, a także wszystkie elementy, które wymagają usunięcia JS. Jaki jest dobry i łatwy sposób przekierowania użytkowników do witryny kopii dystrybucyjnej, jeśli nie mają włączonego javaScript?

Próbowałem tego, ale nie wydaje mi się to bardzo dobre:

<noscript>
<meta http-equiv="refresh" content="0; URL=nojs/index.php">
</noscript>

Próbowałem również przekierować nagłówek do tagu noscript, ale to nie zadziałało.

Odpowiedzi:

21 dla odpowiedzi № 1

Ustaw domyślną wersję witryny bez JavaScriptu. Dodaj mały skrypt, aby przekierować do strony z skryptami.

Lub całkowicie zrezygnuj z użycia przekierowania Progresywne ulepszanie


75 dla odpowiedzi № 2
<noscript>
<p>This site is best viewed with Javascript. If you are unable to turn on Javascript, please use this <a href="http://sitewithoutjavascript.com">site</a>.</p>
</noscript>

Niektóre osoby celowo wyłączają obsługę Javascript i możesz chcieć dać im szansę włączenia go przed przekierowaniem.


44 dla odpowiedzi nr 3

Użyj tego kodu, który wymyśliłem:

<noscript>
<style>html{display:none;}</style>
<meta http-equiv="refresh" content="0.0;url=nojs/index.php">
</noscript>

Używa stylu, aby zablokować to, co jest na stronie, więc wtedyludzie nie zauważą niczego przed przekierowaniem Jedyną rzeczą, która mnie denerwuje jest to, że chcę czegoś lepszego niż odświeżenie meta, ponieważ może to być zablokowane w niektórych przeglądarkach, takich jak IE. Nagłówek PHP nie jest tak naprawdę rozwiązaniem, jak tylko możesz. umieść to w noscript tag, ponieważ po prostu go zignoruje i natychmiast go zapisze.


15 dla odpowiedzi nr 4

Jaka jest twoja definicja "niezbyt dobra"?

Wszystkie moje witryny używają:

<noscript>
<meta http-equiv="refresh" content="0; url=http://www.sadtrombone.com/" />
</noscript>

6 dla odpowiedzi № 5

Nie byłoby przekierowania po stronie klienta, ponieważ może to wydawać się denerwujące dla użytkownika. Zamiast tego, chciałbym użyć <noscript> aby wyświetlić zawartość tej witryny bez JS na tej samej stronie. Może to być więcej pracy, ale na pewno byłoby to bardziej płynne doświadczenie.


2 dla odpowiedzi № 6

Wymyśliłem lepsze rozwiązanie niż przekierowywanie użytkownika, ponieważ metaodświeżanie może być wyłączone w IE.

Umieść to w HEAD:

<style>div#body{display:none;}</style>

Umieść to w BODY:

<noscript>NO JAVASCRIPT CONTENT HERE</noscript>

<noscript><div id="body"></noscript>JAVASCRIPT CONTENT HERE<noscript></div></noscript>

W ten sposób znaczniki są tam, gdzie powinny być.