Я хотел бы написать скрипт, который определяет, отключен ли у пользователя JavaScript, и если да, перенаправьте его на другую страницу (скажем, mysite.com/enablejavascript)
Тем не менее, я понятия не имею, с чего начать! Спасибо ТАК.
Гдорон уже упоминал noscript. Вместе с meta refresh ¹ вы можете перенаправлять пользователей, если у них отключен JavaScript.
Перенаправление JavaScript может быть выполнено с помощью location.replace(URL).
location.replace(URL)
<head> <noscript> <meta http-equiv="refresh" content="0; url=http://example.com/without-js" /> </noscript> <script> location.replace('http://example.com/with-js'); </script> </head>
Пример noscript + meta refresh: http://pastehtml.com/view/bsrxxl7cw.html
1) Помните о недостатках статьи в Википедии!
Метатеги-теги имеют некоторые недостатки: Если страница перенаправляется слишком быстро (менее 2-3 секунд), использование кнопки «Назад» на следующей странице может привести к тому, что некоторые браузеры вернутся на страницу перенаправления, после чего перенаправление произойдет снова. Это плохо для удобства использования, так как это может привести к тому, что читатель «застрянет» на последнем веб-сайте. Читатель может хотеть или не хотеть быть перенаправленным на другую страницу, что может привести к недовольству пользователя или возникновению проблем с безопасностью.
Метатеги-теги имеют некоторые недостатки:
Как вы хотите написать скрипт, когда java-скрипт отключен ...?
Это невозможно сделать. Вы можете показать сообщение, когда JavaScript отключен с помощью <noscript>.
<noscript>
<noscript> тег MDN :
Элемент HTML NoScript () определяет раздел html, который будет вставлен, если тип сценария на странице не поддерживается или сценарии в настоящее время отключены в браузере.
Вы должны объединить перенаправление HTML в элементе noscript. Я нашел этот JavaScript перенаправление генератор. Вот ваш пример кода:
<!-- Pleace this snippet right after opening the head tag to make it work properly --> <!-- This code is licensed under GNU GPL v3 --> <!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited --> <!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ --> <!-- REDIRECTING STARTS --> <link rel="canonical" href="https://yourdomain.com/"/> <noscript> <meta http-equiv="refresh" content="0;URL=https://yourdomain.com/"> </noscript> <!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]--> <script type="text/javascript"> var url = "https://yourdomain.com/"; if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer { document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix. var referLink = document.createElement("a"); referLink.href = url; document.body.appendChild(referLink); referLink.click(); } else { window.location.replace(url); } // All other browsers </script> <!-- Credit goes to http://insider.zone/ --> <!-- REDIRECTING ENDS -->
Попробуйте: если сценарий Java отключен, отобразите ссылку php
<script type="text/javascript"> document.write("<button type='button' onclick='somefunction()' >Some Text</button>"); </script> <noscript> <?php echo "<a href='redirectfile.php'>Some Text</a>"; ?> </noscript>