草庐IT

pushstates

全部标签

javascript - 使用 node.js 快速服务器说明 Backbone.js pushState 路由?

pushState支持是在Backbone.js的0.5版更新中引入的。来自thebackbonedocumentation:NotethatusingrealURLsrequiresyourwebservertobeabletocorrectlyrenderthosepages,soback-endchangesarerequiredaswell.Forexample,ifyouhavearouteof/documents/100,yourwebservermustbeabletoservethatpage,ifthebrowservisitsthatURLdirectly.Forf

html - pushState:状态对象到底是做什么用的?

我已经读过十几遍了,状态对象可以存在于多个键|值对中,并且它与新的历史条目相关联。但是有人可以给我一个状态对象的好处的例子吗?它的实际用途是什么?我无法想象为什么不直接输入{} 最佳答案 以这个小例子为例-runfiddle:您有一个页面,用户可以在其中选择颜色。每次他们这样做,我们都会生成一个新的历史条目:functiondoPushState(color){varstate={},title="Pagetitle",path="/"+color;history.pushState(state,title,path);};我们暂时

ios - 在 UIWebView 中使用 Backbone.js 路由器和 pushState

我正在开发一个基于Backbone.js的网络应用程序,对于某些用例,该应用程序将包装在nativeiOSUIWebView中。在iOS应用程序中——当我们想要在WebView中更改页面时——我们只需在WebView上发起一个新请求,相应地加载页面。我唯一的问题是,当为请求的URL定义了Backbone路由时,我希望WebView使用Backbone的路由和pushState而不是启动一个全新的页面加载。但是,当没有任何主干路由对应于请求的URL时,WebView应将其作为一个全新的页面请求来处理,并使用该URL“重新加载”页面。现在native应用程序使用UIWebView的load

javascript - 在 Firefox 中使用 history.pushState 让我的图标消失

使用类似的东西history.pushState(null,document.title,"?#");在我的站点中,让我的图标在Firefox中消失,但它在chrome中有效它是在页面加载时添加图标的javascript/jQuery方式吗? 最佳答案 我在IE中遇到了类似的问题。每当我调用history.replaceState()时,图标就消失了。Favicon是通过这样的链接标记包含的:将favicon.ico放入应用程序的根文件夹并删除指向它的链接后,调用history.replaceState()的问题就消失了。希望对您有

javascript - 使用 History API pushState 设置后获取历史状态对象

如何取回使用HTML5HistoryAPI设置的状态对象:varstateObj={foo:"bar"};history.pushState(stateObj,null,url);我正在尝试:$(window).bind('popstate',function(event){alert(event.state);});它返回undefined。谢谢! 最佳答案 我只需要从window获取event.state。alert(window.event.state); 关于javascript

javascript - 如何判断浏览器是否支持js pushState功能?

我想通过js脚本使用动态URL更新:window.history.pushState("string","Title","/new-url");但是如果浏览器是旧的并且不支持这个功能,它应该简单地重定向到新的URL。有什么简单的方法可以检查吗? 最佳答案 您只需检查:if(history.pushState){} 关于javascript-如何判断浏览器是否支持jspushState功能?,我们在StackOverflow上找到一个类似的问题: https:/

javascript - 如何删除通过 history.pushstate 添加的历史条目?

我想完全删除通过history.pushState添加的一些历史条目,而不是使用history.replaceState修改它们。我该如何实现? 最佳答案 无法编辑以前的历史条目。来自历史文档:Allthegettersandsettersforattributes,andallthemethods,definedontheHistoryinterface,wheninvokedonaHistoryobjectassociatedwithaDocumentthatisnotfullyactive,mustthrowaSecurity

javascript - HTML5/jQuery : pushState and popState - deep linking?

首先,我似乎无法弄清楚pushState函数中的第一个参数是干什么用的?我传递给它什么?我只是想在滚动页面时更改url。我正在查询视口(viewport)中当前元素的ID,它的ID也应该是url中的链接。这适用于下面的代码。varcurrentHash,url;if(history&&history.pushState){$(window).scroll(function(){hash=$('.layer:in-viewport').attr('id');catHash=$("#"+hash).parent('section').attr('id');vardata="nothing"

jquery - pushState() 和 popState() : manipulating browsers' history

我正在做一个小项目,我想在其中创建一个Ajax风格的网站。内容使用jQuery的load()加载.正如你们中的一些人所知,这样做的缺点是URL不会根据显示的内容相应地更改。要完成这项工作,您可以使用pushState().因为这个不支持跨浏览器,所以我用了插件history.js.这工作得很好,但问题是我的后退和前进按钮没有正常工作,我不知道我做错了什么。URL正在正确更改,内容也是如此,但标题根本没有更改。标题是指显示为浏览器窗口(或选项卡)标题的内容。IE。加载页面的名称或引用该页面的链接的标题属性(它们是相同的)。我认为这与我只调用我需要标题的页面部分这一事实有关(即通过将#co

javascript - .back 和 .pushState - 两个历史的故事

这与其说是一个问题,不如说是一个有趣问题的发现。这也是一种“从我的失败中吸取教训”我正在尝试为IE的HTML5historyduckpunch编写单元测试(使用window.hash代替状态维护)。duckpunch按预期运行,在用户测试期间,我在IE、Chrome和Firefox中获得了一致的结果。问题出在单元测试上。在其中,我对history.pushState()、.replaceState、.back()和.forward()进行了各种组合。这些在Firefox和IE中工作正常,但Chrome给了我完全不一致的结果。以下答案解释了原因。 最佳答案