更新内容,更改 url 而不加载页面窗口.history.pushState.
updating content,changing url without loading the page window.history.pushState
大家好,我打算在我的网站中使用window.history.pushState,但我对如何做到这一点知之甚少。
我想要的是我有一个页面仪表板.php并且想将 URL 更新到仪表板.php?do=edit&who=me 并使用 ID 加载div 内容div 不加载整个页面....
我知道这可以通过这段代码来完成
function processAjaxData(response, urlPath){
document.getElementById("content").innerHTML = response.html;
document.title = response.pageTitle;
window.history.pushState({
"html":response.html,
"pageTitle":response.pageTitle}, "", urlPath);
}
window.onpopstate = function(e){
if(e.state){
document.getElementById("content").innerHTML = e.state.html;
document.title = e.state.pageTitle;
}
};
但是我不知道如何实现这个响应函数的内容。
我也希望如果浏览器不支持此功能,那么在这种情况下,这应该像链接一样,刷新页面可能没问题
任何想法/帮助不胜感激
使用一些JavaScript路由库,例如可以在GitHub上找到的Routie-http://projects.jga.me/routie/
使用路由和jQuery的路由示例如下:
routie({
'dashboard/edit/:who': function (who) {
$.ajax({
url: 'api.php',
data: {prop: 'propVal'},
method: 'POST'
})
.done(function (res) {
console.log(res);
});
}
);
要运行上面的函数,请输入YOURSITE.COM#dashboard/edit/me
而不是YOURSITE.COM/dashboard.php?=...
。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- Javascript排序的图像弹出窗口..可以't单独弹出
- 窗口大小html css
- 弹出窗口出现,然后退出
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- Javascript更新孙窗口中的表单元素
- 如何在选项卡上定义属性'的主窗口对象
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 召回窗口加载事件 - javascript
- 为什么不显示警报窗口
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- Chrome应用程序调整窗口大小保持纵横比
- 新选项卡被弹出窗口阻止程序阻止
- 保留动态创建的下拉列表's在事件窗口.history.back()上选择的值-JavaScript
- 更新内容,更改 url 而不加载页面窗口.history.pushState.
- History.js窗口.Onstatechange不着火
- history.back()在弹出窗口IE中不起作用