根据 JavaScript 可用性加载不同的 PHP 文件

Load different PHP files based on JavaScript availability

我目前有以下代码 (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';
?>

我希望 Main.php 仅在启用 JavaScript 时加载,而 Nojs.php 仅在禁用 JavaScript 时加载。

用标签包围 Nojs.php 什么都不做(见下面的代码)

<?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';
?>

因为我知道 PHP 无法访问浏览器,因为它是在服务器端完成的,是否可以尝试使用 HTML(就像我尝试的那样)或其他 JavaScript让它工作? 提前致谢。

编辑:

nojs.php 创建新文件并使用元刷新有效,但有明显的延迟。该页面开始加载原始 URL,然后重定向到另一个。访问者可以很容易地取消页面加载过程并在重定向之前停止页面加载。他们将有一个部分加载的页面,但他们真正需要的所有内容都会在那里。有没有办法强制立即重定向(是的,根据下面的答案,“内容”设置为“0”)?

在第一次 PHP 加载时创建另一个没有 js 版本的 PHP 文件它将检查是否没有 js 支持将重定向到没有 js 版本的 PHP


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

编辑:它也被 W3C 称为不会混淆用户的技术
https://www.w3.org/TR/WCAG20-TECHS/H76.html