所属分类:web前端开发
在 JavaScript 中,我们可以使用 window.location 对象强制一个页面加载另一个页面。我们可以使用location对象来设置新页面的URL。有不同的方法 - window.location.href 属性、window.location.assign() 和 window.location.replace() 方法,可以使用位置对象设置新页面的 URL。我们将在本教程中详细讨论每个属性和方法。
第一种方法是使用window.location.href属性。该属性包含有关页面当前 URL 的信息,可用于将用户重定向到新页面。
window.location.href = "new_url";
用户将立即重定向到指定的 URL (new_url)。
要在指定时间过后重定向用户,我们还可以指定 setTimout 函数,该函数允许用户在函数中指定的时间后重定向到源 URL。
setTimeout(function() { window.location.href = "https://www.tutorialspoint.com"; }, 3000);
上面的示例将在 3 秒后将用户重定向到给定的 URL (https://www.tutorialspoint.com)。
在此示例中,我们定义了一个按钮(Load),单击该按钮时会呈现一个函数forceLoad()。在forceLoad()函数中,我们使用window.location.href属性来重新加载新页面-tutorialspoint主页。
<html> <body> <h2>Forced Load page using window.location.href property</h2> <p>Click on the below button to force reload new page</p> <button onclick="forceLoad()">Load</button> <script> function forceLoad() { window.location.href = "https://www.tutorialspoint.com"; } </script> </body> </html>
强制重定向到另一个页面的另一种方法是使用 window.location.replace 属性。此方法有助于将浏览器历史记录中的当前页面替换为另一个页面,但此时用户将无法返回到原始页面。
window.location.replace("new_url");
在此语法中,我们将获得与 window.location.href 示例相同的效果,但这里的区别在于用户的当前页面不会存储在浏览器的历史记录中。
在此示例中,我们定义了一个按钮(Load),单击该按钮时会呈现一个函数forceLoad()。 forceLoad() 函数呈现一个 JavaScript 方法 - location.replace(),该方法将当前源替换为函数中提供的 URL 处的源。
请注意,一旦发生导航,它就不允许用户导航回上一页,而这在 javascript 中的 location.assign() 属性的情况下是可能的。
<html> <body> <h2>Forced Load page using window.location.replace() method</h2> <p>Click below button force reload new page</p> <button onclick="forceLoad()">Load</button> <script> function forceLoad() { window.location.replace("https://www.tutorialspoint.com"); } </script> </body> </html>
在此方法中,我们使用 window.location.assign 方法,该方法用于将新页面添加到浏览器历史记录中,以便用户返回到用户浏览的原始页面。
window.location.assign("new_url");
在此语法中,它将与 window.location 示例具有相同的效果,但这里的区别在于用户的当前页面将存储在浏览器的历史记录中。
在此示例中,我们定义了一个按钮(Load),单击该按钮时会呈现一个函数forceLoad()。 ForceLoad() 函数呈现 JavaScript 方法 location.assign(),该方法使窗口加载并显示当前指定 URL 处的文档或页面。一旦发生导航,它还允许用户在名为 Location.assign() 的属性的帮助下导航回上一页,只需按浏览器的“后退”按钮即可。
<html> <body> <h2>Window.location.assign() method</h2> <button onclick="forceLoad()">Load</button> <script> function forceLoad() { location.assign("https://www.tutorialspoint.com"); } </script> </body> </html>
基础 | window.location.href | 窗口.location.分配 | 窗口.位置.替换 |
---|---|---|---|
定义 | 它获取当前 URL 并重定向到 URL 指定的新文档或页面。 | 它加载并显示 URL 中指定的文档或页面。 | 它将当前页面替换为 URL 中指定的页面。 |
浏览器历史记录 | 它不会将新加载的文档或页面添加到浏览器历史记录中。 | 它将新加载的文档或页面保存在浏览器历史记录中。 | 它还会将新加载的文档或页面保存在浏览器历史记录中。 |
返回 | 它允许用户返回到上一页/文档。 | 它还允许用户返回到上一页。 | 它不允许用户返回到上一页。 |
window.location.href 属性、window.location.replace() 和 window.location.assign() 方法之间的主要区别在于它们处理浏览器历史记录的方式。如果我们谈论 location.replace 方法,它将替换当前 URL 并且不允许用户返回到上一页。 location.assign 方法将加载一个新文档并将其添加到浏览器的历史记录中,同时允许用户返回到之前打开的页面。最后,window.location 方法与 location.assign 相同,因为它也会将新文档添加到浏览器的历史记录中。
总结本文,在 JavaScript 中将新页面强制加载到另一个页面是一项简单的任务,可以使用多种 JavaScript 方法来完成,即 window.location.href 属性、window.location.replace() 方法或 window .location.assign() 方法。所有这些方法都可以帮助开发人员创建动态和交互式网页,从而帮助创建更好的用户交互并增强用户应用程序体验。