`

使用window.location.href进行向前向后跳转

    博客分类:
  • JS
阅读更多

因为对代码里面的相对路径有点晕,每次使用window.location.href进行页面跳转的时候,每次都要测试一下,看看这样子写到底跳转到哪里去了。今天又碰到了,想到每次都要试,不如这次试个全的,以后都不用试了。就琢磨了下,这里做个记录。

 

说明:

1、项目名称:TestWeb;

2、首页:index.jsp,在webRoot根目录下

3、webRoot/page目录下,有test.jsp和test2.jsp

4、webRoot/page2目录下,有test.jsp

 

当前页面所处路径:http://127.0.0.1:8080/TestWeb/index.jsp,即首页。

 

情况1:从首页跳转到其他目录下,即从index.jsp跳转到page/test.jsp页面

代码:window.location.href='page/test.jsp'page前面没有/,若是添加/就变成http://127.0.0.1:8080/page/test.jsp,出现404错误

 

情况2:从其他目录跳转到首页,即从page/test.jsp跳转到index.jsp页面

代码:window.location.href='../index.jsp'。..表示上一级,当前页面在page下,向上一级就是webRoot也就是index.jsp所在目录了。

(PS:原本以为这样子写地址栏会这样子:http://127.0.0.1:8080/test/page/../index.jsp,没想到还挺智能的嘛知道..表示的是上一级目录。哈哈哈,涨姿势了。)

这里有两个情况需要说明:

a、若直接使用window.location.href='index.jsp',那么地址栏会变成http://127.0.0.1:8080/TestWeb/page/index.jsp,而index.jsp是在webRoot下而不是当前目录的page下,所以会出现404错误

b、index.jsp前面不能有/,若是添加/就变成http://127.0.0.1:8080/index.jsp,也就是tomcat的首页了。

 

情况3:从其他目录跳转到同目录的另一个页面,即从page/test.jsp跳转到page/test2.jsp页面

这个也比较简单,因为在同一个目录下直接跳就好:window.location.href='test2.jsp'

 

情况4:从其他目录跳转到另一个目录的一个页面,即从page/test.jsp跳转到page2/test.jsp页面

根据情况2中的原理:先定位到上一级也就是webRoot下,再根据情况1的原理直接跳转,因此代码为:window.location.href='../page2/test2.jsp'

 

根据上面的四种情况总结出几个点:

1、使用window.location.href跳转到的路径一定不能加/,加了/就跳到tomcat目录而不是项目的目录了。

2、需要跳转时,先定位当前页面所在路径,然后通过..定位到webRoot下,最后定位到指定目录。或者先通过../定位到同目录下然后定位到指定目录。

分享到:
评论

相关推荐

    js返回所有方法

    本文详细介绍了 JavaScript 中返回历史记录的方法,包括 `history.go()`、`history.back()`、`window.history.forward()` 以及如何结合使用 `confirm()` 和 `window.location.href` 来优化用户体验。此外,还简要...

    javascript 网页跳转的方法

    1. 使用window.location对象进行跳转 window.location对象是JavaScript中用于实现网页跳转的最常用对象。该对象包含了有关当前URL的信息,并且可以修改这些信息来导航到新的位置。 - window.location.href属性 通过...

    JavaScript编程中window的location与history对象详解

    在实际应用中,这些方法常用于页面间的跳转,比如实现登录验证、表单提交后的跳转等。 location.assign("***") 这行代码演示了如何使用assign()方法加载新的页面。当这段代码执行时,浏览器会导航到指定的URL地址。...

    jsp页面跳转

    - 特点:与`window.location.href`类似,但使用`document`对象进行操作。 - **`history` API**: - 使用示例: ```javascript history.back(); // 后退一步 history.forward(); // 前进一步 history.go(-1); /...

    网站开发者必须会用的73种网页JavaScript代码

    1. **历史导航**:`history.go(-1)` 和 `history.go(1)` 分别用于向后和向前浏览历史记录,用户可以点击按钮实现页面的前进与后退。 2. **返回上一步**:`history.back(-1)` 是一个简单的方法,用于返回浏览器的前...

    JavaScript Window Location

    理解并熟练运用`window.location`对象,对于进行动态网页交互、页面跳转、状态管理等任务至关重要。在实际开发中,它经常被用来根据用户的某些操作或者服务器的反馈来改变页面的显示内容或者导航到新的页面。因此,...

    常用的JS代码

    这两个按钮分别用于向前和向后跳转。 ### 7. 关闭当前窗口与打印页面 #### 实现原理: 使用JavaScript的内置方法关闭窗口或调用打印对话框。 #### 示例代码: ```html <a href="/" onClick="javascript: window....

    常见的js代码小结.doc

    查看源码" onClick="window.location='view-source:' + window.location.href"> ``` - **解释**: `window.location`用于设置或获取URL,这里的代码是将当前页面的URL前加上`view-source:`,从而触发浏览器查看源码...

    73种网页常用js代码

    - **`history.go()` 方法**:此方法允许开发者在历史记录列表中向前或向后跳转指定的页面数。 **示例代码**: ```html 前" onClick="history.go(-1)"> 后" onClick="history.go(1); return true;"> ``` ### 2. ...

    ASP.NET中常用输出JS脚本的类

    window.opener.location.href='/Index.aspx'; window.close(); ``` #### 6. `RefreshOpener()` 此方法用于刷新打开当前窗口的窗口(如果有的话)。 **示例代码**: ```csharp JScript.RefreshOpener(); ``` **...

    js 返回上一页和刷新 的代码

    5. `window.navigate(location)`:此方法同样用于跳转到当前URL,实际上也起到了刷新页面的作用。 6. `location.replace(location)`:这个方法不仅刷新页面,还会替换当前的历史记录,使得“后退”按钮失效。 7. `...

    javascript实现禁用浏览器后退按钮

    - `forward(n)`方法使浏览器向前跳转n个页面,这里n=1表示仅前进一个页面。 - 这种方法的优点是简单易实现,只需要一行代码即可完成。 - 缺点是如果用户禁用了JavaScript,那么此方法将失效。此外,这种方法不能阻止...

    js常用操作

    - `window.location.href`:更改浏览器的 URL,从而实现页面跳转或刷新。 #### 定时器功能 定时器是 JavaScript 中用于执行延时或周期性任务的功能。 - `setTimeout`:一次性延时执行函数。 - `setInterval`:...

    前端大厂最新面试题-BOM.docx

    BOM(Browser Object Model)是浏览器对象模型,提供了独立于内容与浏览器窗口进行交互...* forward():向前跳转到下一个页面 * pushState():向历史记录中添加一个新的状态 * replaceState():替换当前历史记录的状态

    js返回一个历史页面

    其中,负数参数表示向后跳转,正数参数表示向前跳转。如果传入的参数为0,则不会有任何操作发生。 #### 五、`location`对象与`history`对象的区别 虽然`location`对象也可以用来改变当前页面的URL,但它与`history...

    [removed]history.go()和History.back()的区别及应用

    包括`window.location.reload()`、`location.reload()`、`location=location`、`location.assign(location)`、`document.execCommand('Refresh')`、`window.navigate(location)`、`location.replace(location)`以及`...

    JavaScript中BOM对象原理与用法分析

    常用方法包括:length 获取历史记录数、back() 后退一页、forward() 前进一页以及 go(num) 指定跳转到历史中的某一页,参数为正数时向前跳转,为负数时向后跳转。 Screen 对象提供了有关客户端显示屏幕的信息。常用...

    javascript编程

    history对象记录了用户在浏览器中的浏览历史,允许向前或向后导航。这对于创建具备历史浏览功能的Web应用非常重要。 #### 十一、layer对象的动态展示 layer对象与CSS定位相结合,可以实现页面元素的动态定位和动画...

Global site tag (gtag.js) - Google Analytics