问题标签 [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.

0 投票
2 回答
4438 浏览

javascript - HTML5 历史 API 演示

我一直在阅读有关 HTML5 历史 API 的内容,到目前为止,我还没有找到一个简单的工作演示来展示代码机制。

这是一个有效的jsfiddle:4 个按钮和 4 个 div。当用户按下一个按钮时,它会显示相应的面板。

我要做的是:

我知道有 history.js 插件,但我想了解 API 如何以最简单的形式工作。

希望 jsfiddle 能帮助到这个页面寻找代码演示的其他人。

谢谢。

0 投票
1 回答
403 浏览

javascript - 谷歌闭包编译器和历史 API

我有这段代码,我在高级编译模式下通过 GCC:

我收到这条消息:

我需要在我的代码中进行哪些更改才能使其在没有警告的情况下通过?

谢谢

0 投票
2 回答
13831 浏览

javascript - 在通过 AJAX 加载的 DOM 中运行动态注入的 javascript(尝试使用 history.js 对网站进行 ajaxify)

我有一个基本上具有页眉、页脚和正文视图的 Web 应用程序。我正在使用 history.js 库和 HTML5 pushstate 对网站进行 ajaxifying,但我遇到的问题之一是在将 javascript 插入 DOM 时让嵌入式 javascript 运行。

几乎我所有的 javascript 都包含在 jQuery(function(){ ... }) 中(文档就绪加载器)

有谁知道处理这个问题的好策略?谢谢!

0 投票
1 回答
262 浏览

javascript - 需要创建多个页面才能使用 HTML5 的历史 API?

我想创建类似于: http: //www.atlassian.com/software/jira/overview

(请参阅功能导览部分中单击选项卡时更改的 URL)

我知道这可以通过 HTML5 的历史 API 来实现,我的问题是:我是否需要创建同一页面的多个副本,以便直接在地址栏中输入 URL 时可以正常工作,或者是否有任何其他可能的方式,如 URL重写或实现这一目标的东西?

0 投票
3 回答
329 浏览

browser-history - Web开发中的后退按钮

history.backjavascript 中不起作用。像这样。

我的场景:

要求page1 > page2 > page3 > page4

处理page4(redirect to) >中的东西page2,现在我想要page2重定向到的后退按钮page1

问题

我们如何实现这一点?

我可以搜索这个问题的关键字是什么?

0 投票
1 回答
1506 浏览

javascript - 浏览器支持 popstate 事件中的状态对象?

我可以找到对该方法的浏览器支持,pushState但我知道并非所有版本的浏览器实际上都会在popstate事件中传递状态对象。如果浏览器支持,我可以指望使用它pushState吗?

0 投票
0 回答
506 浏览

javascript - 将 history.popstate 与 DIV 和 AJAX 一起使用

我正在为一个网站创建一个“门户”类型的页面,其中网站上的初始“登陆”阶段包含背景图像和非常少的内容,但单击标题为“关于我们”的链接会触发 AJAX 命令来加载页面' about.php' 到名为 'MoreDiv' 的 DIV 中 - 此外,触发 javascript 命令以将 'MoreDiv' 设置为可见,同时还隐藏初始文本 div(称为 'phototext')和一个称为 'bottomlinks' 的附加 div。然后,文件“about.php”包含一个链接列表,这些链接调用 AJAX 以在名为“InnerContent”的不同 Div 中加载内容......这个 div 在“MoreDiv”中,因此链接列表保持在原位,并且只有底部页面的一部分发生变化。在链接列表中是“返回首页”

我已经使用 history.pushstate 来获取 URL 以查看我想要的方式,因为该页面是一个 PHP 文件,因此直接输入显示的 URL 将加载页面,并将正确的子页面加载到相应的 Div 中。

我现在遇到的问题是如何使用 history.popstate 将这些变体保存到浏览器历史记录中的页面,以便单击浏览器中的后退按钮将更改 Div 的内容....

Javascript:

然后页面在页面中有以下HTML(分别标记了主页和about.php):

这就是页面的基本设置(一些文本只是为了填充空间)......所以我怎样才能让 history.popstate 工作以保持当前基于 javascript/AJAX 的链接到位但也改变基于历史状态的各个 DIV 的内容(和可见性)?谢谢。

(ps。此外,我希望能够使用“返回主页”链接来重置使用 history.pushstate 对 URL 所做的任何更改......因为目前我无法让它做任何事情,即使更改 URL添加“?home = y”)

0 投票
0 回答
1993 浏览

jquery - IE 上的 window.history.pushState 问题

jQueryUI Auto-complete在我的网站上使用它,window.history.pushState它会在不刷新页面的情况下更改浏览器 URL。它完美地工作ChromeMozilla但不幸的是它不能按照我想要的方式工作Internet Explorer 9。情况就是这样,我可以通过页面上的标签jQueryUI Auto-complete搜索地区、县和邮编。<input />然后,如果我单击自动完成的任何建议结果,则使用window.history.pushState浏览器 URL 更改为 from www.example.com/sitestowww.example.com/sites/selected_region而不刷新页面。现在正如我所说的那样,它可以运行ChromeMozilla但它会失败IE9,因为当我单击任何建议的结果时会发生什么jQueryUI Auto-complete,它既不会更改浏览器 URL,也不会关闭建议列表。它肯定不支持window.histoty.pushState。所以我搜索并找到了一个可以使用的解决方案history.js。我只是按照说明将其上传到我的服务器上并包含history.js文件,但事实证明它与我.js正在使用的其他文件冲突。我将如何解决这个问题?提前致谢。

PS:这是我的使用方法window.history.pushState

请随时以任何可能的方式纠正我。干杯。

0 投票
1 回答
1147 浏览

javascript - History.js 和 url 编码

我在 Firefox v15.0.1 的本地站点上请求了以下 URI 示例,为简洁起见,我删除了主机名。

并且一些分页链接显示在结果页面上,带有这样的href

对他们使用https://github.com/browserstate/History.js/的点击事件执行以下历史请求,该事件使用 HTML5 历史记录,因为它的状态发生了我所知道的变化。

url History.getState().url 给了我下面的内容,这被传递给点击事件的异步函数:

然后历史记录将浏览器 URI 调整为此

我的异步操作失败了,因为“cat”参数现在不正确。

我不能对 getState().url 的整个结果进行 URL 编码,因为那是不正确的。

面对这种情况时,我有什么遗漏需要做的吗?

任何帮助,将不胜感激。谢谢。

更新: 我目前正在调试它并查看 getState() 函数返回的对象。它有一个“数据”对象属性,其中包含正确编码的参数。

可能我可以旋转然后将它们添加到我传递给我的函数的 URL 中,该函数发出 ajax 请求(而不是传递给它的 .url 属性)但是当历史记录用于处理哈希时,这听起来不是一个好主意HTML4 的 url 后备。

0 投票
1 回答
2107 浏览

javascript - window.popstate 后如何恢复原始内容?

以下代码继续将新 URL 推送到状态对象,同时动态更改页面内容。但是,当我开始按下Back按钮并返回原始页面时,不会显示原始内容,而是保留下一页的内容。我如何实现它?