问题标签 [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.
javascript - 以编程方式更新哈希时禁用 hashchange 侦听器(jQuery BBQ)
为了防止在以编程方式设置 URL 哈希 (#) 时出现反馈循环(与手动更改 URL 相比),我想暂时禁用 hashChange 侦听器。
使用$.bbq.pushState(hash)更新哈希时,我应该如何更改此代码以实际禁用 hashchange 事件?(下面的代码不起作用)
jquery - 带有下一个和上一个按钮的 jQuery BBQ
如何将 jQuery BBQ 链接应用到不使用编号选项卡的页面,而是使用上一个和下一个按钮来更改相应的内容区域?谢谢!
jquery - jquery tabs后退按钮支持
我环顾四周,发现了一些使用哈希等选项卡支持后退按钮的解决方案。
我的问题是:我想实现一个页面,它有一个标签小部件,并使用 ajax 调用到一个 div 中。
如果我单击几个选项卡,我希望能够使用后退按钮和页面刷新并跟踪我当前选择的选项卡。但是如果我返回(使用后退按钮)足够远,我想调用在包含选项卡的页面之前加载的页面。
第 0 页是我的主页
第 1 页是纯文本并加载到 page0 上的 div 中
第 2 页有标签并加载到同一个容器 div
我希望能够单击 page1、page2、page2-tab1、page2-tab2,然后使用后退按钮进行反向操作。
这可能吗,或者您可以指出任何可行的示例吗?
javascript - 如何从父叠加层中删除叠加层主题标签和尾随菜单
例如,我们已经激活了上下文链接和覆盖模块,当单击节点的编辑按钮时,它位于页面的底部,它在覆盖上打开。现在,当我们查看地址栏时,链接现在看起来像这样http://localhost:8888/node#overlay=node/25/edit%3Fdestination%3Dnode
叠加层的问题在于它推动父叠加层一直滚动到顶部,当我决定“取消”编辑时,我必须再次滚动到底部才能到达节点预告片。所以我需要从上面的链接中删除这部分#overlay=node/25/edit%3Fdestination%3Dnode
现在我猜它是由 jquery bbq 功能引起的。并且查看覆盖模块和她的 js 文件,我发现它非常可怕并且不知道如何避免这种情况。
对于像我这样的初学者,我需要一些帮助来解决这个问题。
非常感谢。
jquery - jQuery BBQ pushState URL 没有显示它应该如何
我正在使用 jQuery BBQ 插件,但我似乎无法以应有的方式显示 url。它是这样/#url=photographs.php%3F1
的,如果它应该是/#url=photographs.php?1
想法?
jquery - 如何使用 jquery bbq 和依赖控件避免重复的 hashchange 事件?
假设我有三个选择框,所有这些框都设置为$.bbq.pushState
onChange。如果选择还具有相互依赖关系(例如,选择不同的模型会改变可用的颜色),则更改一个选择可能会导致window.hashchange
多次触发:一次从初始更改开始,然后再次针对每个依赖选择的更改处理程序。
如果 hashchange 处理程序很昂贵(或不是幂等的),这可能是一个问题。防止这种情况发生的最好方法是什么?
javascript - 以编程方式更新哈希而不触发 hashchange 事件?
我正在使用 jQuery BBQ 插件将状态推送到 location.hash。
为了防止反馈循环,我想在以编程方式设置状态时暂时禁用 hashchange 侦听器。
我见过这个解决方案: 更改哈希而不触发 hashchange 事件
不幸的是,它似乎并不完美,因为即使我这样做,它有时也会触发:
现在有更好的方法来以编程方式推动状态吗?也许另一个 JS 库?
jquery - 有没有办法让 jQuery BBQ Google 可索引?
我正在开发一个支持 AJAX 的网站,我决定使用Ben Alman 的 BBQ 插件进行 hashchange 事件。
但是,有了这个插件,我不能为谷歌搜索做 Hashchanges (!#)
有没有其他插件呢?
谢谢
jquery - 是否有定义在 document.open 调用中打开的 href 的标准方法?
我正在处理的困境是,在jquery-bbq 代码中,因为 IE6 和 IE7 不支持hashchange
,它们加载页面两次以获得历史状态。
这会产生负面影响,因为代码在服务器端和客户端运行两次。用于创建 iframe 的方法是这样的:
创建了一个带有 src 的空白 iframe javascript:0
。该document.open
方法被调用,似乎它抓住了location.href
父窗口的默认值作为打开的页面的默认值.open
。
我基本上必须修改代码,使其不会两次打开相同的 url,所以我希望覆盖默认值并指定一个参数,例如 ?iframe=true。
例子:
http://example.com/views/step-2?one=two
在 IE 中,上面的页面被加载,然后在 iframe 中再次加载。服务器端代码执行两次,但我不希望这种情况发生。
我想附加到 URI,以便在指定参数的情况&iframe=1
下阻止我的服务器端代码运行。iframe
最明显的两件事是:
- 设置 iframe 的 src,但这可能会产生负面影响,我很确定它的存在是有原因的。
- 而不是 use
document.open.close
,而是iframe.location.href
手动使用并将其设置为 href 。
如果有人有过 iframe 黑客攻击的经验,我将不胜感激一些提示。
编辑:我想到的另一个解决方法是通过 iframe/ajax 加载页面,该页面在 iframe 执行之前设置document.open
会话变量,这会创建一个等于 1 的“iframeloading”会话变量,并在 iframe 上设置一个加载事件处理程序load 将其设置回 0,并调整我的服务器端代码以在会话 var 设置为 1 时不执行。类似于:
javascript - pushState 在 IE 7 中导致回发 >
目前我正在做一个服务器端重定向,它像这样附加位置哈希......
当我调用 pushState 来更新位置哈希时,这会触发一个回帖。
请注意,这不会在 FF 中发生,但在 IE(7 及更高版本)中由于某种奇怪的原因会触发回发。
我怎样才能阻止回帖的发生?