草庐IT

Pushstate

全部标签

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给了我完全不一致的结果。以下答案解释了原因。 最佳答案

html - 通过 history.pushState() 更新 document.referrer

我在我的ajax应用程序中使用pushStates从一个“页面”导航到另一个“页面”。现在,我想看看我来自哪个页面。但是document.referrer总是返回""。或者,当我从另一个页面(链接所在的页面)打开我的应用程序时,我从另一个页面获得了URL。这些行不应该...history.pushState({},"Sometitle","/some/valid/url/1");history.pushState({},"Sometitle","/some/valid/url/2");...产生这样的推荐人:http://somedomain.com/some/valid/url/1?

Chrome 中的 Ajax + pushState 错误

我在Chrome19中遇到了一个奇怪的错误。我实现了一个具有pushState支持的全AJAX网站(每个非外部链接都是通过AJAX请求打开的)。我通过JSON格式在AJAX中传输HTML片段。当我通过外部链接离开我的网站然后返回时,Chrome呈现该URL的缓存数据-问题是,他缓存JSON内容并显示它,而不是完整的网页。这可以通过这些步骤重现(更新:从那时起我在我的网站上删除了AJAX功能,所以这个错误不再出现):打开http://beta.mirtes.cz/点击第二个日期链接(2012年6月16日在“这一切都始于一封奇怪的电子邮件”旁边)。此页面(您现在位于http://beta.

javascript - 在没有无限摘要的情况下从 Angular 成功调用 history.pushState()?

有没有一种方法可以调用history.pushState()而不会导致Angular进入无限摘要循环?我正在尝试将我的应用程序从后端路由迁移到前端路由,但所有stackoverflow帖子/google资源似乎都没有答案。 最佳答案 这是我们基于github评论在Angular1.2.16应用程序中所做的:https://github.com/angular/angular.js/issues/3924#issuecomment-48592773$location.url(myNewUrl);$location.replace();

javascript - 如何将 jquery 对象传递给 history.pushState

vardata={url:$(this).attr('href'),selector:$(this)};history.pushState(data,'foo',$(this).attr('href'));当我这样做时,我得到一个错误:Componentreturnedfailurecode:0x8000ffff(NS_ERROR_UNEXPECTED)[nsIDOMHistory.pushState]如果我将选择器更改为字符串,错误就会消失...但是我需要jQuery对象,所以我可以在“popstate”事件上触发对它的点击:s 最佳答案

javascript - 使用 history.pushState 后检测浏览器后退按钮

我有一个三阶段登录表单,可以随着进度显示/隐藏页面上的内容。当用户从第1步前进到第2步时,我调用以下命令:varstateObj={foo:"bar"};history.pushState(stateObj,"","");我看到浏览器后退按钮已启用。现在,我正在尝试捕捉后退按钮的点击,以便我可以相应地隐藏/显示内容(例如-返回到第1阶段)。在这种情况下如何检测浏览器后退按钮?我不想更改URL,我只想在用户回击时调用一些JS函数。我的目标是现代桌面/移动浏览器。 最佳答案 您可以使用onpopstate事件。window.onpops

Html5 History Api - 从域到子域的 pushState

我有一个网站作为Web门户类型应用程序的登录页面和信息页面。我需要指向门户的链接来触发动画,该动画可以精美地过渡到门户View(导航滑出、新导航滑入、各种小部件淡出、新小部件淡入等)。但是,我还需要从www.mydomain.com到portal.mydomain.com的url。我愿意不遗余力地同时拥有加载门户的动画和作为子域的url。就目前而言,我知道这样做会违反安全策略并且是不允许的,但是如果要重新加载,则无法实现到门户的流畅过渡。有什么可以做的吗?也许可以通过某种方式在两个域之间建立明确的信任。 最佳答案 这是不可能的。这是