问题标签 [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.
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)。这是我在获得后退/前进和书签支持时想要维护的东西。
jquery - jquery BBQ - 如果参数不存在函数
我将如何使用 jquery BBQ 来检查参数是否存在,如果不存在则运行函数?
我假设这$.deparam.fragment().srhTerm;
是我将使用的,但是如果srhTerm
url 中不存在,它返回 false 还是 null?
谢谢
javascript - 使用 onhashchange 或 jquery 控制后退按钮
我需要一些关于如何对使用后退按钮进行基本控制的指导。
基本上,我需要警告用户,通过单击后退按钮,当在我的 checkout.asp 页面上时,他们将丢失已经存在的项目。我需要指示他们改用导航按钮。
我环顾四周,看到提到 onhashchange 事件,但我无法让它工作。
我还尝试了 Ben Alman 的插件:
这只会在进入页面时触发警报(没有来自 location.hash 的值),但我只是想在用户离开时警告用户。如果他们选择留下,那么让他们按取消以将他们留在同一页面上。
任何帮助表示赞赏。
javascript - 如何替换位置哈希并只保留最后一个历史条目?
我正在使用jQuery BBQ 插件来跟踪用户在页面中的进度。但是,我只想在用户历史记录中创建 1 个附加条目,而不是为每个哈希更改创建一个。
我已经尝试了jQuery.bbq.pushState
andmerge_mode
方法,但没有成功:仍然添加了新的历史条目:
我也尝试过location.replace()
,但这不适用于 Safari 5.1.2。
修改哈希的跨浏览器解决方案是什么,而不在历史记录中添加太多条目?
jquery - jQuery BBQ - IE 中的“访问被拒绝”
我在 IE7 和 IE8 兼容模式下遇到了 jQuery BBQ 的问题。
我在上面标记的行上收到“拒绝访问”。
我听说这可能是由 iframe 的域问题引起的,所以我设置了
但仍然看到问题。
帮助?
jquery - 参数 jQuery BBQ 的多个值
我需要创建一个像 http://www.example.com/#filter=1&filter=2这样的哈希 url
如何使用 jQuery.bbq.pushState 函数存储具有单个 id 的多个值(在这种情况下为过滤器)以获得上述 url 结构?
或者还有其他方法吗?
谢谢。
javascript - 如何将值数组传递给 $.bbq.pushState
我有一个网址
我想将一个数组传递给 $.bbq.pushState
我怎样才能通过这个数组$.bbq.pushState
请帮忙 ........................
jquery - 更改链接上的 url 哈希值
我有一个 url 字符串,我想知道当我在页面上使用链接时如何将 order=desc 部分更改为 order=asc?
http://localhost/en/search?city=Paris#order=desc
当我点击一个链接时,例如
网址会变成
javascript - 如何避免在非 IE 浏览器中使用 pushState 和 $.ajax(hash) 进行双重提交?
Internet Explorer 似乎是唯一不支持 pushState 来处理 AJAX 提交历史的主流浏览器。所以我到处都有:
在我的 AJAX 代码中,我必须添加另一行:
这当然会在所有支持通过 pushState() 提交的非 IE 浏览器中导致双重提交。
我能做些什么来避免这些重复提交?