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

0 投票
1 回答
11871 浏览

php - 如何使用 PJAX?(PJAX 与 PHP?)

我试图让 PJAX 与我的 PHP 站点一起工作,这是我正在使用的代码:

我只是使用他们在 PJAX 演示页面上使用的代码,但将他们使用的容器 (#main) 替换为我网站的容器,即 section 标签。控制台或页面上没有错误,但它也不起作用!在我使用之前

$(function() { $('ul a').pjax('section') });

但是,当我不使用其中任何一个而只使用 $('ul a').pjax('section') 时,我会在控制台中看到此错误:

未捕获 jquery.pjax.js 中部分的 pjax 容器(行:353)

我能得到一些帮助吗?谢谢

0 投票
1 回答
610 浏览

javascript - 如何避免在非 IE 浏览器中使用 pushState 和 $.ajax(hash) 进行双重提交?

Internet Explorer 似乎是唯一不支持 pushState 来处理 AJAX 提交历史的主流浏览器。所以我到处都有:

在我的 AJAX 代码中,我必须添加另一行:

这当然会在所有支持通过 pushState() 提交的非 IE 浏览器中导致双重提交。

我能做些什么来避免这些重复提交?

0 投票
1 回答
421 浏览

javascript - 骨干路由器作为 /en/#xyz 而不是 /#en/xyz

我正在尝试做一些非常简单的事情。

场景如下:我有一个与启用 pushstate 的浏览器配合得很好的整个站点。该网站的工作基于语言是“实际页面”,例如:

正如我提到的,它真的很漂亮,并且可以很好地与 pushstate 配合使用。问题是当我尝试将相同的路由器代码与散列选项一起使用时。

Backbone 的路由器似乎想要这样做:

我想要它做的是:

但是如果不调整骨干源来实现这一点,我就找不到方法。我有点反对改变backbone.js,除非我真的必须因为未来的因素而改变。

有人有什么想法吗?

0 投票
2 回答
737 浏览

regex - HTML5 PushState 正则表达式问题

我一直在为我正在从事的项目试验 Backbone,但我一直在让 Backbone 的“pushState”按我想要的方式运行时遇到问题。

我有一个由 4 个视图和一个路由器组成的简单项目。如果在这种情况下很重要,我将通过元素的 id 进行路由。当我转到其中一个视图的哈希(http://example.com/backbonetest/#step1 时,它显示正确,并且 url 已更改。这是我希望在这里发生的事情,但是当我尝试导航到没有哈希的同一事物时,问题就来了(http://example.com/backbonetest/step1 。我在服务器 (IIS) 上得到一个 404,这是意料之中的,因为该页面不存在。

我一整天都在尝试做的是为 IIS 编写一个正则表达式,它将捕获并重写 url,删除 url 末尾的片段,以便正确提供页面。我宁愿简单地重写 url 而不是拥有同名的物理文件,因为页面的内容将动态生成,并且无论如何都需要脚本来获取内容。

我遇到的问题可能与我需要如何在文件系统上构建文件夹/脚本/样式有关。我希望能够将整个示例包含在/backbonetest/文件夹中。对于脚本,'backbonetest/scripts' 等等。

我列出了我一直在测试我的正则表达式的 URL,以及我一直试图达到的结果:

编辑:我发现使用的 url 不包含前面的斜杠,这就是 Qtax 的解决方案在 IIS 中不起作用的原因。新的输入结构如上所示。

'/555/stuff' url 我希望 404 正常。如果没有定义除当前子目录之外的子目录,并且 url 没有引用显式文件(例如带有扩展名的文件),我只想重写 url。

我整天都在网上搜索这个问题的解决方案,并尝试使用正则表达式,但没有设法为我的问题找到合适的解决方案。在任何地方都没有找到任何东西之后,我想我一定是看错了……

谁能帮帮我?

0 投票
1 回答
1164 浏览

javascript - Backbone.js 和 mod 重写

因此,我正在玩骨干,并且已经到达了加载使用 pushState 的直接页面无法正常工作的地方。如果我尝试访问 my.url.com/login,它会给我一个未找到的页面,因为它直接不存在。我有以下重写规则:

但是这似乎不起作用(认为我收到了一个错误的请求而不是找不到)。如何通过 mod rewrite 正确加载 pushState url?

0 投票
0 回答
228 浏览

jquery - 在没有使用 AJAX、pushState、jQuery 的情况下循环浏览页面?

我正在开发一个 Rails 项目,其中有许多简短的帖子,我想添加导航链接(下一个和上一个)以允许用户循环浏览帖子。

但是,我想异步执行此操作,这就是我遇到麻烦的地方-我只是不知道从哪里开始(我是菜鸟)。

我一直在研究 pushState、AJAX 和 jQuery 的各种组合,但都无济于事。我觉得这个问题必须有一个简单的解决方案,但我现在不确定。

例如,您可以查看:http ://www.brotips.ru/76/ - 左右导航箭头。

我不是要求一个完整的解决方案(当然这会很棒),而是朝着正确的方向前进。

提前非常感谢。

0 投票
2 回答
2577 浏览

javascript - Twitter 分享按钮:分享 URL 的哈希部分?

我有一个网站,当用户浏览它时会动态更新 URL 哈希(它是一个 Backbone.js 应用程序,我正在使用 pushState)。

我希望用户能够发布完整的 URL,包括哈希。

我正在使用 Twitter 共享按钮,但它似乎只共享基本 URL 路径,而不是哈希,这非常重要:

关于如何让用户也共享哈希的任何想法?

谢谢你的帮助。

0 投票
1 回答
2541 浏览

internet-explorer - 如何让 IE 忽略 history.pushState?

我已经在我创建的一个小型 Web 应用程序中实现了 pushState/onPopState。该应用程序现在在 IE 中引发 javascript 错误,因为 IE 不支持这些方法。有什么办法可以像

这样 IE 会忽略应用程序的这一部分而不抛出错误吗?谢谢。

0 投票
1 回答
1458 浏览

javascript - 执行 pushState 时是否应该更新所有 href 和 src?

如果我要调用 apushState但我想保留所有相关链接、图像、样式表等,到目前为止我会这样做:

我的问题是:这可以跨浏览器工作吗?我需要做$(this).attr('href') = this.href吗?

这是必要的吗?还有另一种方法可以做到这一点吗?这是最好的方法吗?它总是会起作用吗?

0 投票
3 回答
18195 浏览

javascript - history.pushState() 更改查询值

如果我有一个链接正在被history.pushState({}, "", link);我的函数更改link,例如page.php?value=1&value2=2有没有办法只更改value2withpushState()函数而不是更改整个链接?