草庐IT

hashchange

全部标签

JavaScript/jQuery - onhashchange 事件解决方法

在所有浏览器都支持onhashchange事件之前,最好的解决方法是什么?在jQuery中有这方面的东西吗?还是作为插件? 最佳答案 不确定这是否是您要找的,但值得一试:http://plugins.jquery.com/project/ba-jquery-hashchange-plugin 关于JavaScript/jQuery-onhashchange事件解决方法,我们在StackOverflow上找到一个类似的问题: https://stackoverf

javascript - 在不触发 hashchange 事件的情况下以编程方式更新哈希?

我正在使用jQueryBBQ插件将状态推送到location.hash。为了防止反馈循环,我想在以编程方式设置状态时暂时禁用hashchange监听器。我见过这个解决方案:Changehashwithouttriggeringahashchangeevent不幸的是,它似乎并不完美,因为它有时会触发,即使我这样做:updateURL(obj){$(window).unbind('hashchange');$.bbq.pushState(obj);setTimeout(function(){bindHashChange()},500);}现在是否有更好的方法以编程方式推送状态?也许是另一

javascript - 是否有查询字符串的 hashchange 之类的事件?

我一直在使用散列在页面之间传递数据(比如设置scrollTop()等)并且还使用了hashChange事件来触发给定的更改页面。但是,哈希具有我不一定感兴趣的默认行为,例如使页面跳转到给定的(有时是无关紧要的)位置。我觉得获取/设置查询字符串会更符合逻辑,但是:是吗?当设置查询字符串时,是否有我可以监听的事件?是否有我应该了解的与查询字符串相关的行为? 最佳答案 正如其他答案所说,更改查询字符串将导致页面重新加载。就浏览器而言,您将进入一个全新的页面。执行此操作时会触发一些事件。“beforeunload”事件将触发,但它不会非常有

javascript - 使用 Javascript 历史框架的经验

我正在寻找一个javascript历史框架来处理当用户选择多个更改页面行为的选项时页面内的导航。页面上有多个人工制品会更改页面的数据加载,我想将其存储为一组堆叠的行为。从更广泛的意义上讲,出于同样的原因,我想将其作为工具包添加到我future的Web项目中。我主要使用JQuery在ASP.NET中编写代码,但目前我真正担心的只是JQuery。我确实用PHP、Python和Perl编写了其他项目(取决于演出),因此它必须与平台无关。我一直在网上查找并找到了一些,但只有一个(在OReilly上有介绍)看起来符合要求。我已经开始使用它,但我想知道其他人正在使用哪些工具包以及其他人会推荐哪些工

javascript - JS Hashchange 事件的 msie 问题

我正在尝试使用AJAX加载我的基于wordpress的网站,遵循此Tutorial.所有代码对我来说都有意义,但他们使用的是一个名为JSHashchangeEvent的插件.我遇到的问题是它部分使用了$.browser.msie所以当我用jQuery1.9运行它时我得到一个UncaughtTypeError:Cannotreadproperty'msie'ofundefined错误。我尝试添加js迁移插件,但它没有用。我读到我可以添加这段代码jQuery.browser={};(function(){jQuery.browser.msie=false;jQuery.browser.ve

javascript - 使用 Ajax 时如何保持浏览器历史同步?

我正在使用ASP.NETAjax编写一个简单的相册应用程序。该应用使用异步Ajax调用来预加载相册中的下一张照片,而无需更改浏览器中的URL。问题在于,当用户点击浏览器中的后退按钮时,应用不会返回到上一张照片,而是导航到应用的主页。有没有办法诱骗浏览器将每次Ajax调用都添加到浏览历史记录中? 最佳答案 更新:现在有HTML5HistoryAPI(pushState、popState)弃用了HTML4hashchange功能。History.js提供跨浏览器兼容性和optionalHTML4浏览器的hashchange回退。这个问题

javascript - 发生 hashchange 时 IE 不触发 popstate

我有一个页面在客户端进行路由,使用历史API和push/popstate。这在所有现代浏览器上都可以正常工作。(搜索引擎将由node.jsprerenderer支持)但是,我最近遇到了一个问题,即IE不会在hashchange上触发popstate,而带有url的pushstate工作正常,包括IE11。比如像这样...$(document).on('click','a',function(e){e.preventDefault();History.pushState({},'',$(this).attr('href'));});...正确触发...$(window).on('pops

javascript - 如何使用 Selenium 打开带有哈希的 URL?

我正在尝试使用SeleniumIDE测试我的Backbone.js网络应用程序。Selenium可以打开我的测试用例的初始URL,只要它在一个新的浏览器窗口中——例如open/#/login--但它在尝试打开后续URL时超时。似乎Selenium正在监听一个仅在URL哈希更改时不会触发的事件。我想这会在您使用hashchange+Selenium的任何时候发生... 最佳答案 在SeleniumIDE中只需使用“storeEval”命令,例如:Command=storeEvalTarget=window.location.hash=

javascript - 如何实现哈希键导航?

我想像这样实现基于Ajax的散列键导航:http://www.foo.bar/#/about/http://www.foo.bar/#/news/http://www.foo.bar/#/products/如何实现这个结构? 最佳答案 使用基于散列的导航结构,您将通过浏览器中的JS定义路由及其处理程序...当散列更改时,将触发“hashchange”事件,并且“window.onhashchange”调用处理函数。*例如if("onhashchange"inwindow){alert("Thebrowsersupportstheha

php - PHP $_GET 能否用于使用 Hashchange 获取 URL 中的变量?

ClickMe$(window).hashchange(function(){//});当点击ClickMe时,URL看起来像这样“www.mydomain.com/#create=1”。我想做的是使用PHP中的$_GET来降低参数。例如:使用ClickMe有效,但它会重新加载页面,而这正是我要避免的。任何帮助将不胜感激。 最佳答案 PHP在服务器上运行。必须向服务器发送一个请求,以便PHP了解查询字符串中的内容。您不需要重新加载整个页面,但您需要向服务器发送一些内容,例如在AJAX请求中并对结果执行某些操作。