`
zhouyrt
  • 浏览: 1172447 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IE6/7不支持hashchange事件

 
阅读更多

如下

<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>IE6/7不支持hashchange事件</title>
		<script type="text/javascript">
            function handler(){
                alert('triggered')
            }
            document.onclick = function(){
                var t = Math.random();
                location.hash = '#' + t;
            }
        </script>
	</head>
	<body onhashchange="handler();">
        
	</body>
</html>

 

点击页面任何地方,响应函数会改变hash值(一个随机数)。给body添加了onhashchange事件,当hash改变时执行handler。

点击页面后,IE6/7中没有反应,IE8/9/10/Safari/Chrome/Firefox/Opera均弹出了“triggered”。即IE6/7不支持hashchange事件。

 

相关:

http://msdn.microsoft.com/en-us/library/cc288209(v=vs.85).aspx

https://developer.mozilla.org/en/DOM/window.onhashchange

0
0
分享到:
评论

相关推荐

    前端项目-jquery-hashchange.zip

    然而,在HTML5之前,旧版本的IE(尤其是IE6和IE7)并不支持这个事件,这给开发者带来了困扰。jQuery HashChange插件正是为了填补这一空白,它通过模拟`onhashchange`事件,使得在所有主流浏览器中都能实现哈希监听。...

    jquery.hash.min.js 和 jquery.ba-hashchange.min.js

    在某些浏览器中,如 IE6、7、8,原生并不支持 hashchange 事件,因此这个插件通过定时检查 URL hash 来模拟这一事件,确保在这些浏览器中也能正常监听 hash 的变化。这使得开发者无需担心兼容性问题,可以在各种...

    JQuery HashChange插件修改.rar

    5. **兼容性处理**:虽然大部分现代浏览器都支持HashChange事件,但老版本的IE浏览器(如IE8及以下)不支持。修改插件时,可以添加一个polyfill,使用定时器模拟HashChange事件,确保在这些浏览器中也能正常工作。 ...

    页面禁止各种浏览器后退.txt

    3. **兼容不支持HTML5 History API的浏览器**:对于不支持`pushState`的旧版浏览器(如IE9及更早版本),使用第三方库(如History.js)来模拟类似的功能。这里使用`History.pushState`方法来达到相同的效果。 4. **...

    js事件设计

    3. **IE事件模型**:使用`attachEvent`和`detachEvent`,只支持事件冒泡,并且事件处理函数中`this`指向全局对象。 二、事件类型 常见的JavaScript事件包括: - 用户交互:`click`(点击)、`mouseover`(鼠标悬停...

    Ajax简单应用实力

    6. **局部刷新与页面状态管理**:Ajax局部刷新带来的问题是,页面的URL不会随着内容的变化而变化,这不利于书签和后退功能。可以通过HTML5的History API(pushState/replaceState)和hashchange事件来解决这个问题。...

    对ajax前进后退的处理

    对于不支持`hashchange`事件的老版本浏览器,如IE7及以下,可以使用定时器定期检查`hash`值的变化。 ```javascript if (!window.onhashchange) { var lastHash = ''; setInterval(function() { if (lastHash !=...

    基于jQuery的history历史记录插件

    5. 后备机制:由于某些旧版浏览器(如Safari 4)不支持hashchange事件,插件使用了setInterval来周期性地检查location.hash的变化。对于IE6、7和IE8的兼容模式,插件使用了一个iframe和setInterval的组合来处理。 6...

    vue地址栏直接输入路由无效问题的解决

    通过这种方式,即使在不完全支持`hashchange`事件的浏览器中,也能确保路由的正确更新。 总结来说,解决Vue地址栏直接输入路由无效的问题,可以通过调整Vue Router的模式,或者监听`hashchange`事件并在组件内动态...

    AJAX页面状态保持思路详解

    对于不支持`hashchange`事件的旧版IE(如IE7),可以检测`document.documentMode`属性来判断是否需要采用替代方案。如果`document.documentMode`不存在或者小于8,那么IE8将以IE7模式运行,这时虽然`onhashchange`...

    riot-isomorphic-template:防暴同构项目模板

    10,则支持hashchange 支持IE9 + npm install npm run watch 提示:用户名/密码为admin / admin 笔记 图书馆 舍夫特元素 客户 client.js var client = require('./lib/client'); var config = require('./config...

    Hashload:一个JavaScript库,可轻松处理onhashchange事件-开源

    通过指定更改规则并为其分配回调,可以轻松地在各种浏览器中处理hashchange事件的库。 内置了对基于Ajax的规则的自动AJAX调用的支持。 支持IE7 +,Chrome 6 +,Safari,Opera 10.6+和FF3.6 +。 没有依赖关系。

    Vue 中 a标签上href无法跳转的解决方式

    2. **监听hashchange事件**:针对IE浏览器,我们可以监听`hashchange`事件,因为IE浏览器对`hash`的改变比较敏感。当`hash`发生变化时,我们手动调用vue-router的`$router.push()`方法来实现页面的跳转。 ```...

    前端初级程序员面试宝典

    WebSocket是实现实时通信的重要技术,面试中可能会问到如何在不支持WebSocket的低版本浏览器中进行兼容。常见的解决方案包括使用Adobe Flash Socket、ActiveX对象(如IE中的HTMLFile)或者通过xhr的长轮询和...

    林建锋—新·交互.pdf

    此外,HTML5引入了大量新的API,如LocalStorage、SessionStorage、PostMessage、OfflineApplications、Workers、DragandDrop、HashChange(Event)、HistoryManagement、WebSockets、GeoLocation以及Touch事件等,这些...

    个人简历博客个人作品html5.rar

    8. **html5shiv.js**:这是一个针对不支持HTML5新元素的老版IE浏览器的解决方案,使这些浏览器能够识别并应用HTML5的新标签,如、等。 9. **jquery.hashchange.min.js**:这是另一个jQuery插件,处理浏览器的URL...

    [removed].hash知识汇总

    现代浏览器(如IE8+、Firefox 3.6+、Chrome 5+、Safari 4.0+)都支持此事件。你可以通过以下方式绑定监听函数: 1. `window.onhashchange = func;` 2. `();"&gt;` 3. `window.addEventListener("hashchange", func, ...

    前端学科面试宝典面试题下载完整题目答案

    - **Hash 路由**:利用 URL 中的 `#` 符号来标识不同的页面状态,监听 `hashchange` 事件来更新页面内容。这种方法不需要支持 HTML5 History API,因此具有更好的兼容性。 **3. WebSocket 兼容性** 为了兼容低版本...

    使用HTML5中postMessage知识点解决Ajax中POST跨域问题

    `postMessage`方法在现代浏览器中的支持度非常高,如IE8+,Firefox4+,Chrome8+以及Opera10+。尽管如此,开发时仍需考虑旧版浏览器的兼容性,可能需要借助polyfill库或者采用其他跨域解决方案作为备选。 总结,`...

Global site tag (gtag.js) - Google Analytics