问题标签 [html5-history]
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.
javascript - 更改浏览器中的 URL 而不使用 JavaScript 加载新页面
我怎么会有一个JavaScript操作,它可能对当前页面有一些影响,但也会改变浏览器中的 URL,所以如果用户点击重新加载或书签,那么使用新的 URL?
如果后退按钮可以重新加载原始 URL,那也很好。
我正在尝试在 URL 中记录 JavaScript 状态。
javascript - 使用 HTML5 History API 的好教程(Pushstate?)
我正在研究使用 HTML5 History API 来解决 AJAX 加载内容的深度链接问题,但我正在努力起步。有没有人知道任何好的资源?
我想使用它,因为这似乎是一种很好的方法,可以让那些被发送链接的人可能没有打开 JS。当有 JS 的人向没有 JS 的人发送链接时,许多解决方案都会失败。
我最初的研究似乎指向 JS 中的 History API 和 pushState 方法。
html - 检测是否支持 HTML5 History
如何检查您使用的浏览器是否支持 HTML5 历史 API?
正如您在此处看到的http://caniuse.com/#search=history只有 chrome +ff4 和其他几个支持这一点,如果他们不能支持这一点,我希望做其他事情。
我怎样才能为这个检查做某种 if 语句?
javascript - 使用 History.js 单击后退按钮时恢复内容
我已经在本地测试应用程序上实现了 History.js。一切似乎都正常,但是如果我在浏览器中按下后退按钮,以前的内容不会恢复。
当用户按下后退按钮时,我是否真的必须再次手动加载内容(即进行另一个 ajax 调用)?那么github是如何做到的呢?我看到他们在单击代码树中的后退按钮时没有进行另一个 ajax 调用。
这是我的代码:
data.clips 是一个 json 数组,其中包含 html 对象的 id 作为键和实际的 html 内容作为值。例如
'#header' => '标题 div 中的内容'
如前所述,替换工作正常。我在标题中输出一个随机数。每次单击链接都会在标题中吐出另一个随机数。但是,如果我按下后退按钮,数字保持不变,只会恢复标题(也是随机数)。
javascript - Hashtags(片段标识符)VS Javascript History API
哪一个更好?使用片段标识符...
...还是新的 Javascript History API?
或者我应该两者都用?(通过后备)
方面:
- 兼容性/支持
- 速度
- 方便
javascript - html5 历史导航:除页面加载外未触发 popstate
给定一个带有 ajax 导航的 webapp,您打算使用 html5 的历史导航。
但是:绑定到它不会触发的 popstate 事件。除了页面加载,当它是:
如果 HTML5 可用(检测正确,演示在 Chrome 中的效果与 FF 一样好):
什么不起作用:
- 单击链接时不会调用 popstate 回调 historyChangeHandler()。也就是说,打印的是 clicked,而不是事件。
我尝试了什么:
- 使用 setTimeout 推迟 pushState 调用。
- e.preventDefault(); 并返回 true 而不是 false
- 也附加到 div-s 并返回 true
有什么作用:
- historyChangeHandler() 在页面加载时被调用。
- historyChangeHandler() 在按下后退按钮时被调用。
- historyChangeHandler() 在按下前进按钮时被调用。
- historyChangeHandler() 如果从控制台调用 history.pushState({url: "/test"}, "", "/test") !
有什么我想念的线索吗?
html5-history - HTML5 History API:幸存于清晰的历史?
History API使得在浏览器历史中存储状态对象成为可能。现在试试这个演示(但它与任何其他的行为相同,选择你最喜欢的:)):
- 单击一些链接以建立一些历史
- 清除您的浏览器历史记录(完整或仅针对此站点)
- 你仍然可以穿越历史
我预计清除历史会产生影响,但事实并非如此......
有人可以解释这种行为吗?
html - HTML 5 中的历史 API
我正在使用 Google chrome,并且我已经使用 Dive into HMTL 5 中提到的一种检测技术进行了测试,以支持 History API。但是下面的代码似乎不起作用。谁能让我知道我错过了什么?
for 循环,其中我希望 url “try.html”在浏览器的历史记录中插入 20 次,似乎不起作用。我从一个名为“try.html”的页面调用此函数,其中函数“demo”在页面加载时执行。页面“try.html”只有一行普通文本。我想要做的是,当用户在加载页面“try.html”后单击浏览器的后退按钮时,他仍将留在同一页面上,因为历史记录应该包含 20 个条目同一页面,即“try.html”,但事实并非如此。为什么?
jquery - jQuery绑定popstate事件未通过
我正在为 History API 编写一个小演示。我正在为此苦苦挣扎:
当我单击“上一个”按钮时,它会记录“弹出:未定义”...
但如果我这样做,事情就会像预期的那样工作:
这次它记录'pop:[object Object]'......
所以就像 jQuery 没有将事件对象传递给回调一样。
jQuery 有问题吗?还是我搞砸了什么?
javascript - History.pushstate 有回调吗?
我的 Google-fu 什么也没有。
当你这样做时:
是否有关联的窗口回调?
我知道有这个:
当用户点击后退按钮时,这非常适合聆听。但是,我想在 URL 发生变化时随时收听,但我不知道该怎么做。
URL 更改时是否有全局回调?