栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用jQuery将HTML页面动态加载到div中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用jQuery将HTML页面动态加载到div中

那里有一个叫做pjax的jQuery插件,它指出:“它是带有真正的永久链接,页面标题和完全退化的后退按钮的ajax。”

该插件使用HTML5
pushState和AJAX来动态更改页面,而无需完全加载。如果不支持pushState,则PJAX将执行整个页面加载,以确保向后兼容。

pjax的作用是监听指定的页面元素,例如

<a>
。然后,在
<ahref=""></a>
调用元素时,将使用
X-PJAX
标头或指定的片段来获取目标页面。

例:

<script type="text/javascript">  $(document).pjax('a', '#pjax-container');</script>

将这段代码放在页面标题中,将侦听文档中的所有链接,并设置要从新页面获取并在当前页面上替换的元素。

(表示您要

#pjax-container
在当前页面上用
#pjax-container
远程页面替换)

<a>
被调用时,它将取得与请求头中的链接
X-PJAX
,并会寻找内容
#pjax-container
的结果。如果结果为
#pjax-container
,则当前页面上的容器将被新结果替换。

<!DOCTYPE html><html><head>  <script type="text/javascript" src="jquery.min.js"></script>  <script type="text/javascript" src="jquery.pjax.js"></script>   <script type="text/javascript">    $(document).pjax('a', '#pjax-container');  </script> </head><body>  <h1>My Site</h1>  <div  id="pjax-container">    Go to <a href="/page2">next page</a>.  </div></body></html>

如果

#pjax-container
不是在响应中找到的第一个元素,则PJAX将无法识别内容并在请求的链接上执行完整页面加载。要解决此问题,需要将服务器后端代码设置为only
send
#pjax-container

服务器端代码示例

page2

//if header X-PJAX == true in request headers, send<div  id="pjax-container">  Go to <a href="/page1">next page</a>.</div>//else send full page

如果您无法更改服务器端代码,则可以使用fragment选项。

$(document).pjax('a', '#pjax-container', {   fragment: '#pjax-container' });

请注意,这

fragment
是一个较旧的pjax选项,似乎会获取请求的元素的子元素。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/615165.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号