草庐IT

hashchange

全部标签

javascript - IE7 问题中的绑定(bind) hashchange 事件

我在绑定(bind)到InternetExplorer7中的hashchange事件时遇到了一些问题。所有其他版本的InternetExplorer-即。8和9工作正常。我的代码是:$(window).bind('hashchange',function(e){alert('hashchanged');});当Firefox、IE8、IE9中的url哈希发生变化时,我会收到警告框,但在IE7中,什么也没有发生。以前有人遇到过这种情况吗? 最佳答案 很确定IE6和IE7本身不支持它。您是否尝试过使用BenAlman的jqueryBBQ

javascript - 停止通过 JavaScript 或 jQuery 在 hashchange 事件上加载图像

我正在使用jQueryBBQ:BackButton&QueryLibrary插件来创建一个页面,当点击一个链接时,它会引入动态内容。单击链接时,哈希值会更改,新内容会被拉入(因此禁用单击href的“默认”操作。)那部分工作得很好,但有一个问题。我的问题示例假设“主页”页面有一个DIV,里面有一些图像和一个链接列表......第一页第二页第三页图像可能需要一段时间才能加载,同时用户通常不会等待它们完全加载并单击“第一页”链接。这会清除“主页”页面的内容并加载“第一页”内容。那很好用。问题是来自“主页”页面的图像仍在浏览器中加载,即使用户已经离开“主页”页面。我知道发生这种情况是因为页面实

Javascript/jQuery 仅在浏览器后退/前进按钮单击时检测哈希更改

是否可以仅在浏览器历史记录更改(即后退或前进按钮)时检测哈希更改?我已经看到了onBeforeUnload事件,但是这个事件不会在哈希更改时触发,因为窗口没有卸载。hashchange事件显然会在哈希更改时触发。任何修复?最好不用插件。我看过jQuery历史插件,但我正在寻找最简单的解决方案。感谢您的帮助。 最佳答案 我最终在触发导航时标记了一个标志,如果标记了标志,hashChange事件将忽略它,否则它会像处理后退/前进事件一样处理它。 关于Javascript/jQuery仅在浏览

Javascript : onHashchange Test

我正在尝试检查浏览器是否支持onHashChange或者如果不支持则不隐藏一些代码,以这种方式:if(window.onhashchange){...code...}else{...othercode...}我也试过这个:if(typeofwindow.onhashchange==="function"){alert("Supports");}else{alert("Doesn'tSupports");}如Quirksmode所述这应该有效,但是如果我在Safari中的truestate中执行alert比提醒我但Safari不支持onHashChange:S它有什么问题?如果我走的路不

javascript - Dynamicpage div 在加载新内容后不久闪烁

我正在使用动态页面脚本通过Ajax将内容加载到我的页面中。除了1期外,一切正常。我有一个页面,其中的div彼此堆叠在一起例如:header-banner-nav-content-likebox-twitterwidget-footer。如果我更改页面,例如,如果我从家里去联系,然后我会看到我的likebox和twitterwidget在不到一秒钟的时间内转到页面顶部(导航下方)。之后一切都正确加载,但是在显示联系页面之前看到框在顶部闪烁很烦人。如何修改dynamicpage.js脚本,使其不会很快将内容下方的div移动到顶部?这是我的脚本:$(function(){varnewHash

javascript - 仅使用浏览器按钮的 Onhashchange

我遇到了这个问题(我正在使用jQuery但我不限于此):我正在使用anchor导航(#id)和Ajax请求的组合。为了让页面移动到位(使用anchor导航)或获取信息(使用Ajax),我使用了onhashchange事件。编辑:我有一点错别字。我忘记检查mouseDown标志是否为真以及是否触发了hashchange事件,所以我添加了if语句。使用jQuery看起来像这样:(当然这段代码被包装在一个函数中并在DOM加载时初始化,但这对问题来说无关紧要)$(window).bind('hashchange',function(e){}为了确保只有支持onhashchange的浏览器才能读

javascript - 了解 hashchange 事件的执行顺序

我有一个关于这段代码的问题要问你:window.location.hash=1;$(window).on('hashchange',function(){alert('hello');});上面的脚本应该这样做:将位置哈希设置为1任何进一步的变化->alert('hello')问题来了:为什么在第一次执行的第一时间就调用了hashchange?这个脚本不应该只更改散列而没有任何警报吗?我怎样才能修复它以使其如描述的那样工作? 最佳答案 首先,你问:whyishashchangecalledatthefirsttimeofthefir

javascript - Chrome 不返回哈希值

如果jQueryJavaScript在URL末尾返回哈希值,我将使用以下代码段。它在FF中完美运行,但第4行的警报在Chrome中返回空。似乎window.location.hash.substring(1)行不起作用。我也尝试过window.location.hash.replace("#","");//MapClicks$("#tab2.tab_content#map").delayed('click',500,function(){state=window.location.hash.substring(1);alert(state);jsonLink='http://ml.us

javascript - $(window).hashchange() 不起作用

你好,我正在尝试使用浏览器后退按钮,我了解如何使用hashchange插件捕获事件=>$(window).hashchange(function(){alert(location.hash);});$(window).hashchange();当我尝试加载新页面时,没有任何反应......有没有办法用新的url“重新加载”页面?谢谢! 最佳答案 试试这个:$(window).on('hashchange',function(){//Yourcodegoeshere}).trigger('hashchange');//bindeven

javascript - 防止历史传播到父窗口

我有2个简单的html页面:父页面和子页面。Parent将child存储在iframe中。父级.html:functionchangeHash(){window.location.hash=document.getElementById('text').value;}和Child.html:functiongoBack(){this.history.back();}我使用changehash按钮将多个哈希值添加到历史记录中。当我按下iframe内的goback按钮时-父页面的哈希值已更改。并且这似乎是spec的行为.所以问题是:是否可以防止从iframe返回到其父页面的传播?所以我希望