关于onpopstate

简介:

Magix第1个版本做了hash与pushState之间的切换兼容
关于url解析可以看这篇

当时在做history.pushState时(2012年),发现对于onpopstate对于不同的浏览器是不一样的。

$(window).on("popstate", function() {
    alert('popstate');
});

上述代码在chrome中页面加载完成时竟然会弹出 popstate
现在仍然能够搜出很多在stackoverflow问这个问题的人,如
http://stackoverflow.com/questions/4688164/window-bind-popstate
http://stackoverflow.com/questions/6421769/popstate-on-pages-load-in-chrome/

当时阅读了pjax,使用了类似如下的解决方案

var initialURL = location.href,popped
$(window).bind('popstate', function(event) {
  var initialPop = !popped && location.href == initialURL
  popped = true
  if ( initialPop ) return

当然,现在并没有这样的问题了

目录
相关文章
|
JavaScript CDN
js:spark-md5分片计算文件的md5值
js:spark-md5分片计算文件的md5值
748 0
|
10月前
|
前端开发 JavaScript
从0搭建Vue3组件库(五): 如何使用Vite打包组件库
从0搭建Vue3组件库(五): 如何使用Vite打包组件库
597 0
|
前端开发 JavaScript
自定义按钮样式选择文件button“实现”file功能
前端渣渣在用到文件上传的时候,html的input file的选择文件样式太丑,更改也很不如意,很想用自定义按钮实现替代,特作笔记
458 0
自定义按钮样式选择文件button“实现”file功能
|
存储 运维 前端开发
淘宝 NPM 镜像站切换新域名啦
用CNPM/淘宝源的开发者们请注意,淘宝NPM 镜像站喊你切换新域名啦。新的Web 站点:https://npmmirror.com,Registry Endpoint:https://registry.npmmirror.com。随着新的域名已经正式启用,老 http://npm.taobao.org 和 http://registry.npm.taobao.org 域名将于 2022 年 05 月 31 日零时起停止服务。(望周知,求转发)
8281 0
|
Web App开发 JavaScript iOS开发
|
Web App开发 算法 前端开发
前端局部刷新
本文讲述除目前流行的`virtual-dom`更新界面外,另外一种不需要保留虚拟`dom`树,同时又可以高性能的更新界面的方案
4320 0
|
缓存 前端开发 JavaScript
|
Web App开发 缓存 前端开发
前端资源加载优先级[译]
浏览器里并不是每一个资源加载都很重要。 为了达到重要的资源先加载,浏览器有试探法,尝试对资源进行权重分配,例如CSS会在脚本和图片之前先加载。 因为浏览器在试探权重分配,所以并不总是分配的很正确,通常因为没有足够的信息,浏览器可能做出错误的决定。
2472 0
|
算法 JavaScript 前端开发
前端做模糊搜索
通过搜索关键字bi会匹配到好几个结果 这个和一些编辑器的搜索功能很像,比如sublime text,不需要知道关键字的完整拼写,只需要知道其中的几个字母即可。 那么这个功能在前端我们如何去实现呢?
4827 0