问题标签 [jquery-bbq]

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 回答
1283 浏览

jquery - 带有 PHP 漂亮 URL 的 jQuery BBQ 插件

我无法弄清楚如何开始使用 jQuery 的 BBQ 插件,以便在我的 Ajax 站点中启用对前进/后退和书签的支持,以及漂亮的 URL。

我通过 Apache mod_rewrite 规则为我的 PHP 页面提供了漂亮的 URL,因此可以通过http://example.org/store/5访问http://example.org/store.php?cat_id=5

这些 URL 显然只在通过浏览器直接访问 PHP 页面时才相关,因为一旦用户登陆他们访问的第一个页面并单击任何内部链接,它们就会被我的 JavaScript 代码拦截并通过 Ajax 更新内容(即,而不是重新加载页面)。

所以,这意味着我的后退/前进和书签功能不起作用,这是我来 BBQ 尝试实现它的地方。

看了很多例子,我不知道如何使用漂亮的 URL 进行这项工作,因为我的 href 标记还没有包含 #。我的 href 标签如下所示:

单击该链接会导致以下 jquery ajax 请求运行:

它使用 GET 参数 cat_id = 5 从 /views/tileview.php 加载 Ajax 内容,并将生成的 HTML 加载到 #viewport div 中。

现在,我的问题是,我是否能够使用 BBQ 插件来支持后退/前进和书签,而无需更改我的 href 以在其中包含哈希(即使用当前 URL)?此外,无论我是否需要更改我的 URL,我如何处理 URL 很漂亮并且在“?=”意义上没有“参数”这一事实?

我当前的实现在没有 JavaScript 代码的情况下会降级,因此链接只会将访问者带到正确的 URL 并且他们基本上看到相同的内容(尽管加载了完整的 PHP 页面,而不仅仅是 Ajax 调用和更新的 div)。这是我在获得后退/前进和书签支持时想要维护的东西。

0 投票
1 回答
651 浏览

jquery - jquery BBQ - 如果参数不存在函数

我将如何使用 jquery BBQ 来检查参数是否存在,如果不存在则运行函数?

我假设这$.deparam.fragment().srhTerm;是我将使用的,但是如果srhTermurl 中不存在,它返回 false 还是 null?

谢谢

0 投票
2 回答
1396 浏览

javascript - 使用 onhashchange 或 jquery 控制后退按钮

我需要一些关于如何对使用后退按钮进行基本控制的指导。

基本上,我需要警告用户,通过单击后退按钮,当在我的 checkout.asp 页面上时,他们将丢失已经存在的项目。我需要指示他们改用导航按钮。

我环顾四周,看到提到 onhashchange 事件,但我无法让它工作。

我还尝试了 Ben Alman 的插件:

这只会在进入页面时触发警报(没有来自 location.hash 的值),但我只是想在用户离开时警告用户。如果他们选择留下,那么让他们按取消以将他们留在同一页面上。

任何帮助表示赞赏。

0 投票
2 回答
28189 浏览

javascript - 如何替换位置哈希并只保留最后一个历史条目?

我正在使用jQuery BBQ 插件来跟踪用户在页面中的进度。但是,我只想在用户历史记录中创建 1 个附加条目,而不是为每个哈希更改创建一个。

我已经尝试了jQuery.bbq.pushStateandmerge_mode方法,但没有成功:仍然添加了新的历史条目:

我也尝试过location.replace(),但这不适用于 Safari 5.1.2。

修改哈希的跨浏览器解决方案是什么,而不在历史记录中添加太多条目?

0 投票
2 回答
788 浏览

jquery - jQuery BBQ - IE 中的“访问被拒绝”

我在 IE7 和 IE8 兼容模式下遇到了 jQuery BBQ 的问题。

我在上面标记的行上收到“拒绝访问”。

我听说这可能是由 iframe 的域问题引起的,所以我设置了

但仍然看到问题。

帮助?

0 投票
1 回答
251 浏览

jquery - 参数 jQuery BBQ 的多个值

我需要创建一个像 http://www.example.com/#filter=1&filter=2这样的哈希 url

如何使用 jQuery.bbq.pushState 函数存储具有单个 id 的多个值(在这种情况下为过滤器)以获得上述 url 结构?

或者还有其他方法吗?

谢谢。

0 投票
4 回答
1315 浏览

javascript - 如何将值数组传递给 $.bbq.pushState

我有一个网址

我想将一个数组传递给 $.bbq.pushState

我怎样才能通过这个数组$.bbq.pushState

请帮忙 ........................

0 投票
3 回答
432 浏览

javascript - jQuery bbq...烤架在哪里?

document.hash我正在查看 jQuery bbq 插件,但在他的代码中找不到任何提及。

我假设获取哈希在第1094行:

并将散列设置为818但是为什么使用这些而不是location.hash

还有什么处理这个

jq_bbq_pushState = function...不够吗?

0 投票
1 回答
295 浏览

jquery - 更改链接上的 url 哈希值

我有一个 url 字符串,我想知道当我在页面上使用链接时如何将 order=desc 部分更改为 order=asc?

http://localhost/en/search?city=Paris#order=desc

当我点击一个链接时,例如

网址会变成

http://localhost/en/search?city=Paris#order=asc

0 投票
1 回答
610 浏览

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

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

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

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

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