博主是因为想在博客中加入音乐播放器,然后因为超链接的跳转被影响到了,所以才想到了加入pjax局部刷新。然后我这里说到的是一个集成了pjax的工具类(**YUI**)
现在开始大概介绍下如何上手吧
使用pjax优点:
缺点
<script src="http://yui.yahooapis.com/3.18.1/build/yui/yui-min.js"></script>
<script>
YUI().use(‘pjax‘, function (Y) {
new Y.Pjax({container: ‘#content‘});
});
</script>
<ol>
<li><a href="page1.html" class="yui3-pjax">Page One</a></li>
<li><a href="page2.html" class="yui3-pjax">Page Two</a></li>
<li><a href="page3.html" class="yui3-pjax">Page Three</a></li>
</ol>
属性 | 类型 | 默认 | 描述 |
addPjaxParam |
布尔值 | true |
如果 浏览器在缓存内容时会忽略 HTTP 请求头,因此如果使用相同的 URL 请求部分 Pjax 页面和完整页面,浏览器会将它们缓存在相同的 key 下,并且稍后可能会在用户实际请求时加载缓存的部分页面整页(反之亦然)。 为了防止这种情况,我们可以向 URL 添加一个虚假的查询参数,这样 Pjax URL 将始终与非 Pjax URL 分开缓存。 |
container |
节点 | null |
通过 Pjax 加载页面时应插入内容的节点。该节点的现有内容将被删除,以便为新内容让路。 如果未设置,加载的内容将不会自动插入到页面中。 |
contentSelector |
细绳 | null |
CSS 选择器用于提取通过 Pjax 加载的页面内容的特定部分。 例如,如果您想加载页面 如果未设置,将使用整个页面。 |
linkSelector |
细绳 | "a.yui3-pjax" |
用于过滤链接点击事件的 CSS 选择器字符串,以便只有匹配它的链接才会应用 Pjax 的增强导航行为。 当一个链接被点击并且该链接与这个选择器匹配时,Pjax 将尝试通过 Ajax 加载它。如果不支持 HTML5 历史记录,或者如果链接被中键单击、右键单击或在按下修饰键时单击,则浏览器将像处理任何旧链接一样处理链接单击。 |
navigateOnHash |
布尔值 | false |
是否应增强导航到当前页面上的哈希片段标识符并 默认情况下,当用户通过单击页内链接(例如 |
scrollToTop |
布尔值 | true |
导航到 URL 后是否应将页面滚动到顶部。 当用户点击浏览器的后退按钮时,将保持之前的滚动位置。 |
timeout |
数字 | 30000 |
Ajax 请求应该超时的时间(以毫秒为单位)。当超时发生时,该 |
titleSelector |
细绳 | "title" |
CSS 选择器用于从通过 Pjax 加载的页面内容中提取页面标题。 默认情况下,这设置为从 |
最后,官方文档请参考:https://clarle.github.io/yui3/yui/docs/pjax/
原文:https://www.cnblogs.com/howeya/p/14860448.html