PHP:回显来自 case 语句的 JQuery 警报

PHP: Echoing a JQuery Alert from case statement

我正在尝试从 PHP echo JQuery alert。我使用的方法是回显整个脚本标签,然后回显其中的 JQuery。 JQuery 有效,因为其他地方的警报有效。 JQuery 库在我尝试的代码之前加载,所以不是那样。

以下是我目前的陈述:

date_default_timezone_set('Europe/London'); #server timezone
    $now = date('His'); #current time
    $cl = '173000'; #closing time
    $op = '084500'; #opening time

    switch (true) {
        case $now < $cl && $now > $op:
            echo "open
            <script type='text/javascript'>
                $(document).ready(function(){
                    alert('open');
                });
            </script>
            ";
            break;

        case $now > $cl && $now < $op:
            echo 'closed';
            break;

        default:
            echo("neither closed nor open.  dun dun duuuuun");
            break;
    }

我知道该语句在某种程度上起作用,因为显示了打开的字符串。我也看到了脚本标签,但它们似乎没有执行,如下所示:


此图显示脚本回显到页面之前打开的文本


此图表示script标签放入页面但未执行


更新:

答案是 JQuery 并没有像我想象的那样实际加载。版本号错误。由于某种原因,它是:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.4.3/jquery.min.js"></script>

我现在改成:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2/jquery.min.js"></script>

我离开 2.x.x 的原因是因为托管库现在将选择 2 的最新版本。

您确定在要提醒的那一刻加载了 jQuery 吗? 顺便说一下,如果你只想 alert 一些东西,你真的不需要 jQuery,只需使用:

<script>alert('open');</script>

这可能是几个问题。

jQuery 库是否实际包含在页面中?还要检查控制台日志是否有任何错误。页面上的任何 javascript 错误都会阻止任何其他 javascript 执行。