vojtech-dobes / nette-ajax-history
为 Nette 框架添加了历史 API 支持。
2.0.0
2015-01-17 21:08 UTC
Requires
- php: >=5.3.1
- nette/nette: ~2.0
This package is not auto-updated.
Last update: 2024-09-14 14:35:56 UTC
README
为 Nette 框架的 nette.ajax.js 插件添加了历史 API 支持!
安装
- 在
nette.ajax.js
之后链接client-side/history.ajax.js
。 - 使用 Composer 加载 PHP 文件:
vojtech-dobes/nette-ajax-history
- 在您的配置中注册配置扩展
extensions:
ajaxHistory: VojtechDobes\NetteAjax\HistoryExtension
用法
正常编写您的应用程序。所有重定向和前进操作都将被正确处理。
为了正确更新 UI,请使用代码片段。如果您计划将整个应用程序进行 AJAX 化,请考虑将此代码片段添加到 BasePresenter
中的 beforeRender()
方法。
if ($this->isAjax()) { $this->invalidateControl('title'); $this->invalidateControl('content'); }
并且可能需要升级 app/@layout.latte
<title n:inner-snippet="title">...
{snippet content} {include content} {/snippet}
禁用
如果您希望特定的链接或表单不包括在此插件的作用域内(不要更新 URL),则可以使用 nette.ajax.js 的 data-ajax-off
功能。
<a class="ajax" data-ajax-off="history">
UI 缓存
该插件将自动缓存您的 UI,并在 后退 和 前进 按钮上恢复,而无需与服务器通信。如果您希望在每次 后退 和 前进 时调用服务器,请关闭缓存。
$.nette.ext('history').cache = false;