问题标签 [jquery-address]
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-address - IE6 上的重定向循环
我一直在我的一个项目中使用 Jquery 地址并且一切正常,但是当我在 IE6 中尝试它时,行为非常奇怪。
当我尝试访问 http://www.local.test.com/?param=123
它无限循环: http ://www.local.test.com/#/?param=123#/?param=123#/?param=123#/?param=123#/?param=123#/
顺便说一下,这是我的 jquery 初始化
javascript - 使用新地址、标题等更新 sharethis 悬停小部件
我在单页应用程序上使用了 sharethis 悬停小部件(显示:固定)和 jQuery 地址。所有请求都是 pushState 并通过 ajax 加载。因此,当用户从 pageA.html 转到 pageB.html 时,地址会通过 pushState 更新。但是,当我单击“共享到 facebook”上的某个页面时,我进入网站的页面正在共享,而不是当前页面。这个现象可以在这个网站上看到。
我在存储 url、标题等的 stWidget 对象中进行了搜索,但我找不到它。Sharethis 对此非常保密,并一直引用此页面,但这仅说明如何在 ajax 加载的内容中激活小部件,而不是如何使用新地址、标题等更新小部件或如何修改它。
jquery - jQuery Address 将新的深层链接附加到现有的深层链接
我想和这里一样的问题,但没有给出解决方案。如果您通过深层链接直接进入加载 jQuery 地址的网站,http://www.domain.com/deeplink1
并且您想通过按链接转到下一页,则下一个深层链接将附加到初始深层链接http://www.domain.com/deeplink1/deeplink2
。
我该如何预防?
jquery - jQuery在页面后退按钮滚动
我正在寻找一个页面,允许使用页面内的内容的后退和前进按钮。我已经使用 jQuery Address 完成了基本功能,如
- http://www.asual.com/jquery/address
我遇到的问题是如何让回调函数与 jQuery scrollTo 插件协同工作,以提供动画的前后滚动体验。
我相信你可以看到这个问题真的没有那么难,但是因为我还在学习它超出了我的知识范围。任何帮助深表感谢。
所有内容都包含在一个页面中,通过使用具有公共类的各种 div 元素划分为不同的“页面”
更新:
我创建了一个小提琴来更清楚地显示问题。
jsfiddle.net/d7uZ7/6
jquery 的底部是用于在后退或前进页面事件后触发滚动的内容
解决方案:
因此,在与这个问题斗争了很长时间之后,已经找到了一个解决方案(某种)。此外,如果没有与JacobMcLock的聊天,我不应该认为这一切都是不可能的。
无论如何,我原帖的最后一部分应该改为以下两个代码块之一
使用第一个块以获得最佳速度,但缺乏兼容性。这将在 Chrome 和 Safari 中正常运行,而在其他系统中会出现故障。这是因为他们正确地处理hashchange
和popstate
事件,而其他人则没有。奇怪的是,一些较旧的浏览器也可以正常工作。
第二种方法虽然慢得多(动画开始有明显的延迟),但在几乎所有浏览器中都能正常工作。是的,只是半好,有时它仍然失败。所以现实情况是,由于浏览器没有正确使用这些标签,你可能会在页面转换中陷入无聊的旧的非动画来回。好难过。除非你想做大量的编码。
jquery - 区分jquery地址插件中的后退/前进
从文档( http://www.asual.com/jquery/address/docs/ )中可以看出,该插件有一个事件来检测何时按下浏览器的后退/前进按钮。
$.address.externalChange(fn)
我的问题是,是否有办法知道何时按下背部以及何时按下前方。例如,这在两种情况下都有效:
谢谢。
jquery - jQuery地址:证明用户正在按下前进按钮而不是后退按钮
编辑 3:这个jsFiddle与插件一起使用,我几乎拥有它。
编辑2:我做了一个小提琴。我无法让插件在那里工作,但也许更容易分析。
在我正在构建的网页中,文章(帖子)和新页面是通过 Ajax 加载的。在加载新的 Ajax 内容的同时,地址栏会发生变化(使用jQuery 地址插件)。
所以一个正常的导航会是这样的:
//page2 /page3 /article7 /page3 /page4
请注意,在此导航中,没有按下浏览器按钮,当退出文章 7 时,网站会返回到其先前的 url,在这种情况下是page3 。
该插件不会检测用户何时按下后退或前进按钮。我设法找出一种方法来了解用户何时按下后退或前进按钮:
每次添加新内容并更改地址时,我都会将新地址存储在一个数组中。如果用户按下后退或前进按钮,我会这样分析:
if (new_url == penultimate_value_in_array) => 按下后退按钮(从数组中删除最后一个值)
else => 按下前进按钮(向数组添加新值)
这适用于这种导航:
//page2 /page3 /page4
就我而言,它非常适合“后退”按钮。但是,如果用户从 /article7 到 /page3 按下 Forward,该函数会将其读取为 Back。这是一个例子来理解我的意思:
用户在 /page4 并按 Back -> new_page=/page3 等于 penultimate_page_in_array(/page3) => BACK
//page2 /page3 /article7 /page3 /page4
用户在 /page3 并按 Back -> new_page=/article7 等于 penultimate_page_in_array(/article7) => BACK
//page2 /page3 /article7 /page3
用户在 /article7 并按 Back -> new_page=/page3 等于 penultimate_page_in_array(/page3) => BACK
//page2 /page3 /article7
用户在 /page3 并按 Back -> new_page=/page2 等于 penultimate_page_in_array(/page2) => BACK
//第2页/第3页
用户在 /page2 并按下 Forward -> new_page=/page3 不等于 penultimate_page_in_array(/) => FORWARD
/ /第2页
用户在 /page3 并按下 Forward -> new_page=/article7 不等于 penultimate_page_in_array(/page2) => FORWARD
//第2页/第3页
用户在 /article7 并按下 Forward -> new_page=/page3 等于 penultimate_page_in_array(/page3) => BACK (这里的值应该是 FORWARD)
//page2 /page3 /article7
我如何引入另一个可以确定 False Back 应该是 Forward 的语句?
编辑:
这是我正在使用的代码,我不确定它是否有助于解决问题,但这里是:
访问新页面时:ajax调用,然后:
加载文章时:ajax调用,然后:
存在文章时:
当用户按下某些浏览器按钮时,会执行此代码:
html - 在 jQuery 地址插件书签页面上自动加载 div 内的内容
我正在使用 jquery.address 插件来更新浏览器的地址栏,同时通过 ajax 加载内容。一切正常,除了我不知道如何在用户尝试访问诸如“domain.com/about-us”之类的书签页面时自动将 event.value 或 event.path 加载到我用来加载内容的 DIV 中,在这种情况下页面会加载,但“关于我们”的内容不会加载到 DIV 中。我错过了什么?这是我的代码:
JS:
HTML:
.ht 访问:
谢谢!
jquery - Asual JQuery Address 1.5 没有在 IE 中触发 externalChange
当您离开页面并单击返回或刷新页面时,我遇到的问题是 externalChange 未在 IE 中触发。
有问题的网页之一是http://www.travelwisconsin.com/events。这肯定在 IE9 中发生,但我也能够使用 BrowserStack 在 IE10 中重现它
重现步骤:
- 访问http://www.travelwisconsin.com/events
- 转到页面底部的目录
- 翻阅目录几次(网址将使用散列 url 更新)。
- 单击查看其中一个事件的详细信息
- 点击浏览器返回按钮
- 页面不会调用 externalChange 来触发您上次访问的页面的 ajax 调用
下面是我用来设置这个过程的 javascript。当您执行上述第 6 步时,永远不会调用 externalChange 方法。你对可能发生的事情有什么建议吗?
jquery - 如何在使用 Ajax 时使用 address.js 在 URL 中添加#?
我正在 asp.net mvc(4) 中开发电子商务应用程序。我在 Category 页面上使用 Ajax 调用调用了 Specification 过滤器。为此,我使用了两个模板。首先是加载带有页眉和页脚的类别布局。第二个模板将加载我的产品并刷新我的过滤器块。
但是当我使用 Ajax 调用时,页面 url 不会改变。所以它也给搜索引擎爬虫带来了问题。为了解决这个页面,我使用了 address.js,它将 # 放在 urls 中。所以搜索引擎可以理解页面。
我还有另一个问题,当我在 ajax 调用中使用 GET 方法并单击浏览器的后退按钮时,所有布局都消失了。我可以通过使用 POST 方法来解决这个问题,但请建议在 ajax 调用中使用什么更好。