导航栏和AJAX加载

Navigation Bar and AJAX loading

本文关键字:加载 AJAX 导航      更新时间:2023-09-26

我有以下设置:

主页.php,包括:

1) 标题

2) 导航栏

3) 内容(加载在<div id="dynamic-content"></div>中)

4) 页脚

在导航栏中,您可以找到几个选项(例如关于我们、联系我们等)。

假设负责"AboutUs"的脚本被称为aboutus.php.

我想要实现的是,只要我按下"关于我们"按钮(#about-us-div),就在内容区域(也称为动态内容div)内加载about-us.php页面的输出。

为了实现这一点,我使用以下AJAX调用:

AJAX调用

$("#about-us").on('click', function(){
   $.ajax({
              url: "about-us.php",
              success: function(output){
                   $("#dynamic-content").html(output);
              }
         });
});

关于我们的主页.phpphp都包含自己的CSS和JavaScript文件:

主页.js主页面.css包含在main-page.php 中

包含在about-us.php 中的关于us.js有关us.css

问题:

使用关于us.php的CSS和Javascript文件的正确方法是什么?我应该将它们包含在about-us.php脚本中,还是将它们包括在主页php中?

当我将它们包含在about-us.php中时,我从控制台收到一条警报,称"主线程上的同步XMLHttpRequest已被弃用,因为它对最终用户的体验有不利影响"。

在这一点上,我不得不提到about-us.js有更多的AJAX请求。。

提前谢谢。

最佳做法是在main-page.php中包含JS和css。正如您所提到的,About Us导航只会更改动态内容,那么它应该只更改数据。所有的脚本和样式表都应该在此之前加载。

两者都可以。但是如果你添加js。以及about-us.php文件中的about-us.php的css,则会更好。这意味着只有当用户点击按钮时才会加载这些js和css,这更好。

尽管您必须确保在两个css文件(about-us.css和mainpage.css)中使用的"class"id"必须不同,否则mainpage.css的id和类将被aboutus.css的id或类覆盖。