我有一个带有标题、左侧菜单和主要内容的简单网站。
我已经用一个静态页面制作了它,(index.php)
然后jquery
通过单击菜单项来更改主要内容:
$('#divR').load('chapters/abc.php');
我在某处被告知我应该改变这种安排(没有解释 - 为什么)为每个主要内容使用单独的页面,然后使用php include
在每个页面上包含标题和左侧菜单。
有人可以帮助解决这个难题吗?
使用 ajax 加载或在 php 中包含页面都可以。但是,要显示新包含的页面,您需要刷新整个页面。如果您使用 jquery 请求页面,它将异步加载,无需刷新页面。
请记住,您必须选择最适合的选项来增强用户体验。我从不使用 ajax 加载完整页面,因为有传言说 google 不会索引这些异步链接。然而,有人说 google bot 是一种功能齐全的浏览器,不会跳过 ajax 调用。我不知道,所以我保持它保存并通过整页刷新加载重要的“主要”内容,访问另一个网址。这也将使浏览器返回和下一步(历史)按钮工作。它不会与 ajax 调用一起使用,因为它们是异步的。
例如,我使用 ajax 为我的图片库加载新的缩略图,或者使用新条目(重新)填充表格,或者显示用户消息,或者更新一些变量,......
我<?php include "file.html"; ?>
现在经常使用,因为它比 jQuery 有一些优势.load
。
我在网站上有很多其他脚本,不知何故,如果我使用.load
,与该内容交互的 jQuery 不起作用,因为我认为它是在之后加载的。即使它在<head>
并且您不使用$(document).ready(function() { CODE });
并且应该首先加载它......
但是如果您使用<?php include "file.html"; ?>
,内容将在您的 jQuery 加载之前加载,因此 javascript 可以与此文件中加载的内容进行交互。
我不知道如何解释,但至少它对我不起作用,也许是因为它php
是一种服务器端语言。