Actualmente tengo el siguiente código (PHP)
<?php require_once __DIR__.'/includes/Connect.php'; require_once __DIR__.'/includes/Nojs.php'; require_once __DIR__.'/includes/Main.php'; require_once __DIR__.'/includes/footer.php'; ?> Quiero que Main.php se cargue solo si JavaScript está habilitado, y Nojs.php solo se carga si JavaScript está deshabilitado.
Rodear Nojs.php con etiquetas no hace nada (ver el código a continuación)
<?php require_once __DIR__.'/includes/Connect.php'; ?> <noscript> <?php require_once __DIR__.'/includes/Nojs.php'; ?> </noscript> <?php require_once __DIR__.'/includes/Main.php'; require_once __DIR__.'/includes/footer.php'; ?>Como sé que PHP no puede acceder al navegador ya que se hace del lado del servidor, ¿es posible intentar usar HTML (como lo intenté) u otro JavaScript para que funcione? Gracias por adelantado.
EDITAR:
La creación de un nuevo archivo para nojs.php y el uso de metarefresh funcionan, pero hay un retraso notable. La página comienza a cargar la URL original y luego redirige a la otra. Un visitante puede cancelar fácilmente el proceso de carga de la página y detener la carga de la página antes de la redirección. Tendrán una página parcialmente cargada, pero todo el contenido que realmente necesitan estará allí. ¿Hay alguna manera de forzar una redirección inmediata (Sí, el "contenido" se establece en "0" según la respuesta a continuación)?
Cree otro archivo PHP sin versión js cuando PHP se cargue por primera vez, verificará si no hay compatibilidad con js y se redirigirá a una versión sin js de PHP.
<noscript> <meta http-equiv="refresh" content="0;url=nojs-version.php"> </noscript> Editar: W3C también lo menciona como técnica sin confundir al usuario
https://www.w3.org/TR/WCAG20-TECHS/H76.html