转载 [removed]等一些用法

本文详细解析了window.location.href, window.location.replace, window.location.reload的用法及区别,同时对比了window.location与window.open的功能特性,帮助读者理解网页导航与刷新的底层机制。

window.location用法
2011 年 09 月 28 日 window.location.href=“url”:改变url地址;
window.location.replace(“url”):将地址替换成新url,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后 退”来访问已经被替换的URL,这个特点对于做一些过渡页面非常有用!
window.location.reload():强制刷新页面,从服务器重新请求!

window.location.href和window.location.replace的区别:
假设有3个jsp页面(1.jsp,  2.jsp,  3.jsp),进系统默认的是1.jsp ,当我进入2.jsp的时候, 2.jsp里面用window.location.replace(“3.jsp”);与用window.location.href(“3.jsp”);从用户界面来看是没有什么区别的,但是当3.jsp页面有一个“返回”按钮,调用window.history.go(-1);wondow.history.back();方法的时候,一点这个返回按钮就要返回2.jsp页面的话,区别就出来了,当用window.location.replace(“3.jsp”);连到3.jsp页面的话,3.jsp页面中的调用window.history.go(-1);wondow.history.back();方法是不好用的,会返回到1.jsp 。当用window.location.href(“3.jsp”);连到3.jsp页面的话,3.jsp页面中的调用window.history.go(-1);wondow.history.back();方法是好用的,会返回2.jsp。因为window.location.replace(“3.jsp”);是不向服务器发送请求的跳转,而window.history.go(-1);wondow.history.back();方法是根据服务器记录的请求决定该跳到哪个页面的,所以会跳到系统默认页面1.jsp 。window.location.href(“3.jsp”);是向服务器发送请求的跳转,window.history.go(-1);wondow.history.back();方法是根据服务器记录的请求决定该跳到哪个页面的,所以就可以返回到2.jsp。

…………………………………………………………………………

window.location和window.open区别:
在给按钮、表格、单元格、下拉列表和DIV等做链接时一般都要用Javascript来完成,和做普通链接一样,可能需要让链接页面在当前窗口打开,也可能需要在新窗口打开,这时就可以使用下面两项之一来完成:
    window.open 用来打开新窗口 
    window.location 用来替换当前页,也就是重新定位当前页
    可以用以下来个实例来测试一下。
<input type=”button” value=”新窗口打开” onclick=”window.open(‘http://www.zhousl.com/’)”> 
<input type=”button” value=”当前页打开” onclick=”window.location=’http://www.zhousl.com/’”> 

…………………………………………………………………………

window.location.Reload()和window.location.href=window.location.href;都是刷新当前页面。

window.location.Reload()如果有数据提交的话,会提示是否提交的(是和否选项)
window.location.href=window.location.href是定向url提交数据

 

最好不要用location.reload(),而用location=location比较好,还有在模式窗口(showModalDialog和showModelessDialog)前者不能用。

reload() 方法用于重新加载当前文档。
语法
location.reload(force)说明
如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。
如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。

好象是说:
如果window.loacation.reload(true)==window.location.href=”xxx.xx”;

### VSCode 删除某些行的原因 在使用 Visual Studio Code (VSCode) 编辑器时,可能会遇到意外删除某些代码行的情况。这种情况通常由以下几个原因引起: 1. **扩展插件行为异常** 某些第三方扩展可能具有自动格式化或清理功能,在特定情况下可能导致误删代码行[^4]。 2. **快捷键操作失误** 用户可能无意间触发了某些快捷键组合(如 `Ctrl` + `X` 或者 `Shift` + `Delete`),从而导致整行或多行被剪切或永久删除[^5]。 3. **保存冲突** 如果启用了“自动保存”功能,并且在同一时间进行了多次快速编辑,可能会因缓存同步问题而导致部分更改丢失[^6]。 --- ### 如何恢复已删除的行 当发现 VSCode 中有代码行被意外删除时,可以尝试以下方法进行恢复: #### 方法一:利用撤销命令 通过按下 `Ctrl` + `Z` (Windows/Linux)或者 `Cmd` + `Z` (MacOS),逐步撤消最近的操作直到找回丢失的内容[^7]。 #### 方法二:查看历史记录 启用 Git 版本控制或其他本地版本控制系统可以帮助追踪文件变更的历史记录。如果项目已经连接到源码管理工具,则可以通过比较差异来还原之前的状态[^8]。 ```bash git diff --staged # 查看暂存区与工作目录之间的区别 git checkout HEAD~1 -- filename # 切换至前一次提交状态下的指定文件 ``` #### 方法三:访问临时文件夹中的副本 有时 Windows 和 macOS 的操作系统会保留未保存文档的一个临时拷贝。可以在 `%TEMP%` 文件夹下寻找 `.tmp` 结尾的相关文件[^9]。 对于 Linux 用户来说,默认路径可能是 `/tmp/`. #### 方法四:借助内置的功能——Local History 插件 安装并配置 Local History 扩展能够创建每个修改过的文件的新快照存储起来。一旦发生数据遗失事件就可以轻松浏览这些快照找到所需的部分[^10]. --- ### 预防措施 为了避免将来再次遭遇类似情况,建议采取如下预防手段: - 定期手动备份重要资料; - 开启增量式云同步服务比如 OneDrive、Google Drive 等; - 使用可靠的 SCM 软件像 GitHub Desktop 来跟踪每一次改动详情; - 小心处理来自不可信来源下载安装的各种附加组件以防潜在风险[^11]; ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值