【问题标题】:How can I get my PHP script to load after jQuery UI tabs?如何让我的 PHP 脚本在 jQuery UI 选项卡之后加载?
【发布时间】:2026-02-10 08:25:02
【问题描述】:

令人惊讶的是,我找不到其他人遇到此问题,这意味着我做错了什么。据我了解,浏览器首先读取PHP,对吗?

我正在使用 jQuery UI 来显示选项卡式视图,如下所示:

<script>
        $(function() {
            $("#tabs").tabs();
        });
</script>

很简单... 在选项卡式视图中,我有一段较长的 PHP 代码,它从服务器获取系统状态信息,并在其中一个选项卡中显示此信息,称为“系统状态”,如下所示:

                   <div id="tabs">
                        <ul>
                            <li><a href="#tabs-1">System Status</a></li>

                        </ul>
                        <div id="tabs-1">
                            <?php //Lengthy PHP script ?>
                    </div>

通常 PHP 加载速度如此之快,以至于在加载 jQuery UI 选项卡之前您无法判断 PHP 正在加载。在这种情况下,当浏览器加载 PHP 脚本并在加载 UI 之前获取服务器端信息时,您会看到显示一些文本,这会导致我的 GUI 看起来非常糟糕。

我已经用谷歌搜索了这个问题,但无法弄清楚如何简单地强制 jQuery 在 PHP 代码之前执行代码,这样当 PHP 代码在其中执行时,您将首先看到我漂亮的选项卡式 UI。任何帮助或指向正确方向都会很棒。哦,如果我在这里完全遗漏了一些重要的东西,我也很擅长接受教育并用硬计算机科学打耳光。谢谢。

【问题讨论】:

  • PHP 首先在服务器上进行处理,然后将生成的 HTML 传递给客户端,此时您的 JavaScript 将被处理。您可能想查看 AJAX 解决方案。
  • 你误会了,PHP是在服务器端执行的,浏览器根本看不到PHP。如果您想要延迟加载,您可能需要执行 AJAX 请求。
  • PHP是在服务器上执行的before页面甚至被发送到浏览器,所以你不能在javascript之后执行PHP代码, Ajax 除外。
  • 在服务器向浏览器发送一个字节之前,php已经完成
  • 是的,您可以在选项卡在那里调用您的 php 文件以呈现您需要的 html 内容之后进行 ajax 调用,以用于本练习。最佳实践是(不需要延迟加载),实际获取内容,然后使用 JS、选项卡等操作 DOM。

标签: javascript php jquery jquery-ui


【解决方案1】:

你可以给你的标签内容一个类,例如 content 并在 css 中使它成为 display:none

<div id="tabs-1" class="content">

因此,在浏览器加载 PHP 脚本时显示的文本将不可见,并且在加载选项卡时,默认情况下您将看到当前选项卡的内容

FIDDLE

【讨论】:

  • 很高兴帮助你@Mac
【解决方案2】:

Jquery Ui 选项卡,支持 Ajax 调用。 因此,您需要另一个页面或控制器,其中包含您要显示的数据。

在官方页面有更好的解释。

http://jqueryui.com/tabs/#ajax

相信,比你想象的更容易。

【讨论】:

    最近更新 更多