首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

locationhash部分和使用window.onhashchange实现ajax请求内容使用浏览器后退和前进功能

在js跨域双向数据传递可以用iframe加上location.hash来实现,在研究这个时候深入学习了一下hash特性。  ...当只有hash部分发生变化时,浏览器历史记录会产生记录,但不会向服务器发出请求,这时按后退键地址栏uri会变化但页面内容不变。  ...下面就讲述一下hash结合ajax使用,ajax每次取数据页面更新后浏览器并不产生历史记录,也就是说后退和前进按钮失去应用效用,这时可以结合hash和window.onhashchange来使用,...注意ie6、7均不支持onhashchange,但可以用setInterval定期检查hash改变,或者onload中检查方法。  ...3.在使用window.onhashchange检测hash值获取历史数据。

889100
您找到你想要的搜索结果了吗?
是的
没有找到

BOM

是 W3C 标准规范  BOM   浏览器对象模型    把「浏览器」当做一个「对象」来看待    BOM 顶级对象是 window    BOM 学习浏览器窗口交互一些对象 ...  BOM 是浏览器厂商在各自浏览器上定义,兼容性较差 1.2....有了 window.onload 就可以把 JS 代码写到页面元素上方,因为 onload 是等页面内容全部加载完毕, 再去执行处理函数。...案例:发送短信倒计时 点击按钮后,该按钮60秒之内不能再次点击,防止重复发送短信 案例分析 ① 按钮点击之后,会禁用 disabled 为true  ② 同时按钮里面的内容会变化, 注意 button...var time = 3; // 注册单击事件 btn.addEventListener('click', function() { // 禁用按钮

1.3K20

BOM

BOM构成 BOM 比 DOM 更大,它包含 DOM。 ? 3. 顶级对象window window对象是浏览器顶级对象,它具有双重角色。 它是JS访问浏览器窗口一个接口。...注意: 有了window.onload就可以把JS代码写到页面元素上方,因为onload是等页面内容全部加载完毕, 再去执行处理函数。...window.onload传统注册事件方式只能写一次,如果有多个,会以最后一个window.onload为准。 如果使用addEventListener则没有限制 第2种 ?...案例分析: ①按钮点击之后,会禁用disabled为true ②同时按钮里面的内容会变化,注意button里面的内容通过innerHTML修改 ③里面秒数是有变化,因此需要用到定时器 ④定义一个变量,...       var time = 3; // 注册单击事件        btn.addEventListener('click', function() {            // 禁用按钮

1.3K10

JSP 防止网页刷新重复提交数据

网页如何防止刷新重复提交与如何防止后退解决方法 提交后禁用提交按钮(大部分人都是这样做) 如果客户提交后,按F5刷新怎么办?...或者“怎样才能防止用户点击后退按钮返回以前浏览过页面?” 遗憾是,我们无法禁用浏览器后退按钮。...遗憾是,答案非常简单:我们无法禁用浏览器后退按钮。         起先我对于居然有人想要禁用浏览器后退按钮感到不可思议。...后来,看到竟然有那么多的人想要禁用这个后退按钮,我也就释然(想要禁用只有后退按钮,不包括浏览器前进按钮)。因为在默认情况下,用户提交表单之后可以通过后退按钮返回表单页面(而不是使用“编辑”按钮!)...它强制浏览器重新访问服务器下载页面,而不是从缓存读取页面。使用这种方法,编程者主要任务是创建一个会话级变量,通过这个变量确定用户是否仍旧可以查看那个不适合通过后退按钮访问页面。

11.5K20

JavaScript交互式网页设计 • 【第3章 JavaScript浏览器对象模型】

使用 history对象可以将当前浏览器页面跳转到某个曾经打开过页面 方法 描述 back() 后退一个页面,相当于浏览器后退按钮 forward() 前进一个页面,相对于浏览器前进按钮 go()...(80 或 443) protocol 属性 返回所使用 Web 协议(http:// 或 https://) reload() 方法 重新加载当前页面,相对于浏览器刷新按钮 assign() 方法...加载新文档 示例:使用location对象中属性和方法实现加载用户所选页面       window.onload = function...,在编写可以不使用 window前缀 属性 描述 availWidth 返回显示屏幕可用宽度(除 Windows 任务栏之外) availHeight 返回显示屏幕可用高度(除 Windows 任务栏之外...对象 示例:使用navigator对象显示出浏览器安装了哪些插件   你浏览器安装了以下插件:

75510

Js BOM

location.pathname 返回当前页面的路径和文件名 location.port 返回 web 主机端口 (80 或 443) location.protocol 返回所使用 web...console.log(getQueryVariable('b')); //2 Window History history.back() window.history.back()等于点击浏览器后退按钮... history.forward() window.history.forward()等于点击浏览器前进按钮,可以加载历史记录下一个页面(前提是有下一个页面) <script type...expires:过期时间,默认为浏览器关闭删除 设置cookie document.cookie="user=admin" 删除cookie只需要设置过期时间为过去时间即可 ...一个页面只会执行一个onload事件,后面的会覆盖前面的 注意:由于html文档是自上而下执行,而onload是文档加载完成才执行,因此html文档里onclick事件里执行函数不能在onload

79200

如何制作自己原生 JavaScript 路由

太糟糕了,因为单击浏览器后退”和“前进”按钮与浏览历史记录中 URL 导航有关。如果没有 History API,就无法谈论路由。...history.back() 与 history.go(-1) 相同,或者当用户在浏览器中单击 Back 按钮。你可以用任何一种方法达到相同效果。...当用户按下浏览器 Forward 按钮,将执行 history.forward(),它等效于 history.go(1)”。...这就是使浏览器无需重新加载页面即可更改 URL 原因。 结果:现在,每次我们单击按钮,URL 实际上都会在浏览器地址栏中更改。内容框也会更新。 ? 我们原生 JS 路由开始运行了。...这取决于你程序。可以是任何东西。 使“后退”和“前进”按钮起作用 通过使用 history.pushState,你将自动使 Back 和 Forward 按钮导航到上一个或下一个状态。

3.8K20

注意,这个 JavaScript 事件即将弃用!

一般我们会用于以下场景: 保存用户数据:离开页面前保存数据; 执行清理任务:在离开页面之前关闭打开资源; 发送分析:在离开页面发送与用户交互相关数据。...另外,因为它是早于 bfcache (浏览器前进,后退,缓存操作),所以会对正常 bfcache 进行阻塞,对网站性能产生负面影响(正常根据规范来讲,unload 是不应该阻止用户 bfcache...console.log('页面不可见'); } }); 第二个替代事件为 pagehide ,它会在用户点击跳转其他链接、前进或后退按钮,或关闭浏览器选项卡触发,也能够用来确定用户什么时候离开界面...pagehide 不会像 unload 一样让页面不符合bfcache (浏览器前进,后退,缓存操作)条件。...使用 Permissions-Policy 禁用 如果你知道自己网站有用到这个事件,但是又不知道怎么移除,可以使用 Permissions-Policy 来进行限制,Chrome 115 版本专门增加了对

31020

BOM介绍_BOM定义

我们在浏览器一些操作都可以使用BOM方式进行编程处理, 比如:刷新浏览器后退、前进、在浏览器中输入URL等。...编程练习 实现:当点击页面上按钮,弹出确认框 (1)当点击按钮上的确定时,打开设置了新特征子窗口, 新窗口特征参考任务栏中描述 (2)当点击按钮取消,关闭当前页面 思路 第一步:获取到按钮元素...,并为按钮绑定鼠标单击事件 下面的步骤皆在单击事件中进行 第二步:当点击按钮,弹出确认框,用if判断对确认框返回值进行判断 (1)返回值为true,说明点击是确认,打开新窗口“newPage.html...(timerId); null——释放内存 location对象 location对象是window对象下一个属性,使用时候可以省略window对象 location可以获取或者设置浏览器地址栏...port:端口号 整数,可选,省略使用方案默认端口,如http默认端口为80。 path:路径 由零或多个'/'符号隔开字符串,一般用来表示主机上一个目录或文件地址。

1.2K20

移动端H5页面开发坑点指南

(animation-play-state) H5页面一般都会有BGM,也会提供一个旋转音乐图标供用户开启关闭音乐;我们希望当用户点击音乐按钮图标停止旋转,再点图标顺着之前停止位置继续跑动画;animation-play-state...-webkit-touch-callout:none; //系统默认菜单被禁用;可以实现页面因为长按弹出各种操作窗口 -webkit-user-select:none; //webkit浏览器 -...这种情况是以前遇到,这里也说下;主要会发生在webview里多一点,当点击后退页面以缓存形式出现,而不是刷新后,很多情况下这不是你预期效果,解决方法是用js: 方法1: window.addEventListener...页面通过历史记录和前进后退访问。...:hidden; //设置进行转换元素背面在面对用户是否可见:隐藏 -webkit-perspective: 1000; 解决active伪类失效 </body

3K10

手机端页面在项目中遇到一些问题及解决办法

history.go(-1): 后退 + 刷新 history.back(): 后退 之所以注意到这个区别,是因为不同浏览器后退行为也是有区别的,而区别就跟 javascript:history.go...Chrome 和 ff 浏览器后退页面,会刷新后退页面,若有数据请求也会提交数据申请。...类似于 history.go(-1); 而 safari(包括桌面版和 ipad 版)后退按钮则不会刷新页面,也不会提交数据申请。...下,使用伪元素改变表单元素默认外观 //1.禁用 select 默认箭头,::-ms-expand 修改表单控件下拉箭头,设置隐藏并使用背景图片来修饰 select::-ms-expand {display...ms-check, input[type=checkbox]::-ms-check { display:none; } //3.禁用 pc 端表单输入框默认清除按钮,::-ms-clear 修改清除按钮

3.4K30

【前端路由】实现一个 hash、history 路由,改善页面渲染体验

通过hashchange事件监听URL变化,改变URL方式: 通过浏览器前进后退改变URL 通过标签改变URL 通过window.locatioin改变URL history:提供pushState...和replaceState两个方法: 提供popstate事件,但popstate事件有些不同: 通过浏览器前进后退改变URL时会触发popstate事件 通过pushState/replaceState...或标签改变URL不会触发popstate事件 可以通过拦截pushState/replaceState调用和标签点击事件来检测URL是否发生变化 实现方式(1):hash ...() { routeView = document.querySelector('#routeView'); onPopState() //拦截a标签点击事件,点击使用...> 我们看到,使用history方式,需要多判断a标签点击事件并拦截。

19630

Web 性能优化-首屏和白屏时间

白屏时间是指浏览器从响应用户输入网址地址,到浏览器开始显示内容时间。 首屏时间是指浏览器从响应用户输入网络地址,到首屏内容渲染完成时间。...如下图: 白屏时间 通常认为浏览器开始渲染 或者解析完 时间是白屏结束时间点。...我们只需要监听首屏内所有的图片 onload 事件,获取图片 onload 时间最大值,并用这个最大值减去 navigationStart 即可获得近似的首屏时间。 <!...fetchStart: 浏览器准备好使用 HTTP 请求抓取文档时间,这发生在检查本地缓存之前。...Performance.navigation redirectCount: 0 // 页面经过了多少次重定向 type: 0 0 表示正常进入页面; 1 表示通过 window.location.reload() 刷新页面; 2 表示通过浏览器前进后退进入页面

2.4K20

SPA应用路由器如何工作?

那么,最关键地方,就是如何设计路由器,如何让路由器工作?...当改变锚点,页面的主体部分会切换内容,但是,整个页面不会被重新刷新。 那么,如何监听锚点变化?...HTML5 History API HTML5包含新对象history,其提供对浏览器历史记录访问能力。它暴露一些常用方法和属性,可以让用户通过操作浏览器“前进”和“后退按钮,访问到历史记录。...创建历史条目) 浏览器支持情况如下: history.png 那么,如何利用history这些特性来创建路由器?...缺点是,切换路由后http://www.somesite.com/subPage1.html 并不是一个真正资源地址,想象一下,这个时候点击浏览器刷新按钮浏览器必然会发起对subPage1.html

1.5K40
领券