问题标签 [pushstate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
internet-explorer - Internet Explorer 是否支持 pushState 和 replaceState?
有人知道 Internet Explorer 是否支持处理浏览器历史记录history.pushState()
的和history.replaceState()
方法吗?考虑到这些只是在 Firefox 4 中实现,我没有屏住呼吸,但是有人知道它们是否会在 IE9 中实现吗?
javascript - 使用 HTML5 History API 的好教程(Pushstate?)
我正在研究使用 HTML5 History API 来解决 AJAX 加载内容的深度链接问题,但我正在努力起步。有没有人知道任何好的资源?
我想使用它,因为这似乎是一种很好的方法,可以让那些被发送链接的人可能没有打开 JS。当有 JS 的人向没有 JS 的人发送链接时,许多解决方案都会失败。
我最初的研究似乎指向 JS 中的 History API 和 pushState 方法。
javascript - HTML5 历史教程
任何人都知道任何好的教程/指南来解释使用带有 Pushstate 和 Onpopstate 事件的 HTML5 History 的正确方法吗?
javascript - 如何通过 history.pushState 获得有关历史记录更改的通知?
因此,既然 HTML5 引入history.pushState
了更改浏览器历史记录,网站开始将其与 Ajax 结合使用,而不是更改 URL 的片段标识符。
可悲的是,这意味着这些呼叫无法再被onhashchange
.
我的问题是:是否有可靠的方法(黑客?;))来检测网站何时使用history.pushState
?该规范没有说明任何有关引发的事件(至少我找不到任何东西)。
我尝试创建一个外观并替换window.history
为我自己的 JavaScript 对象,但它根本没有任何效果。
进一步解释:我正在开发一个 Firefox 插件,它需要检测这些变化并采取相应的行动。
我知道几天前有一个类似的问题询问侦听某些DOM 事件是否有效,但我宁愿不依赖它,因为这些事件可能因许多不同的原因而生成。
更新:
这是一个 jsfiddle(使用 Firefox 4 或 Chrome 8),显示调用onpopstate
时未触发pushState
(或者我做错了什么?随时改进它!)。
更新 2:
另一个(侧面)问题是window.location
使用时没有更新pushState
(但我认为我已经在这里读到了这个)。
html - 哪些浏览器支持 HTML5 History API?
有人可以指出支持/不支持 HTML5 History API 的浏览器的兼容性图表吗?
规格:http
://www.w3.org/TR/html5/history.html
教程:https ://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
javascript - 使用 -window.history.pushState 更新页面/URL
我有兴趣让我的应用程序在不刷新页面的情况下更新,并且 URL 中没有 # 哈希。
我见过使用哈希的 jQuery BBQ,但后来出现了 github 最近关于 pushState 的博客文章,看起来很棒。
有谁知道任何教程显示如何使用它?或者也许可以提供一个示例来说明如何实现这一点,以便在网络应用程序上使用带有某些链接的 pushState?
谢谢
javascript - 使用 onPopState 和 pushState 时我应该使用什么 js 来处理后退按钮点击
我正在使用 pushState 来更改网站的网址:
效果很好,但是现在后退按钮不起作用。我相信我需要使用遍历历史堆栈并呈现适当页面的 onPopState 编写自己的后退和前进按钮行为。诀窍是当“返回”为空时,它应该执行返回按钮通常会执行的操作(在用户进入我的站点之前“返回”到页面)。
这似乎是非常标准的行为,是否有我可以使用的配方/一些标准代码?
html - 检测是否支持 HTML5 History
如何检查您使用的浏览器是否支持 HTML5 历史 API?
正如您在此处看到的http://caniuse.com/#search=history只有 chrome +ff4 和其他几个支持这一点,如果他们不能支持这一点,我希望做其他事情。
我怎样才能为这个检查做某种 if 语句?
javascript - 可以使用 pushState
有谁知道确定是否可以使用 pushState 的库?
我正在使用这个:
但我刚刚发现 Safari 5.0.2 中存在一个错误,即使上述测试通过,它也无法工作:http: //support.github.com/discussions/site/2263-line-links-broken。
我在想可能还有其他问题,有人可能已经找到了它们并将它们包裹起来,但我还没有找到任何东西。
编辑: @Crescent Fresh
从我所看到的看来,pushState 似乎推送到历史堆栈并更改了 url,但没有更新 location.pathname。在我的代码中,我使用 setInterval 来检查路径是否已更新。
在 Safari 5.0.2 中,当 pushState 更改 url 时 location.pathname 不会更改。这适用于其他浏览器和 Safari 版本。
javascript - HTML5 历史 pushState 链接返回
在今天早些时候看到另一篇关于 HTML5 History API 的帖子并阅读了Mozilla的教程之后,我已经能够实现一个基本的工作演示,使用这个 API 来允许 URL “重写”,而无需重新加载页面并且不使用哈希。
我的问题是:假设您有一个用户来到一个页面,点击其中一个使用历史 API 编写新 URL 的链接。然后用户为页面添加书签。现在我假设它现在会将重写的 URL 加入书签。因此,当用户在几天后回来并尝试转到已添加书签的页面时,它不会返回 404 吗?那么你如何实现一种方法来解决它呢?
这是假设我重写的 URL 指向一个不存在的位置。