window.location 和 document.location 有什么区别?
window.location 属性
窗口的 location 属性(即 window.location)是对 Location 对象的引用;它表示在该窗口中显示的文档的当前 URL。
由于 window 对象位于作用域链的顶部,因此无需 window 前缀即可访问 window.location 对象的属性。例如,window.location.href 可以写成 location.href。下一节将向您展示如何使用 window 对象的 location 对象属性来获取页面的 URL 以及主机名、协议等。
您可以使用 window.location.href 属性获取当前页面的完整 URL。
示例
以下示例演示了如何使用 window.location.href 获取页面 URL:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JavaScript Get Current URL</title> </head> <body> <script> function getURL() { alert("The URL of this page is: " + window.location.href); } </script> <button type="button" onclick="getURL();">Get Page URL</button> </body> </html>
执行上述程序后,将显示一个按钮,上面写着“获取页面 URL”。单击此按钮,将显示当前页面的 URL。如果我们单击名为“获取页面 URL”的按钮,我们将得到当前 URL 作为输出。
document.location 属性
这是一个只读属性,它返回当前文档的 URL。以下是 JavaScript 中 document.location 属性的示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document.location Properties</title> </head> <body> <script> document.write("The pathname of this file is:"+ document.location.pathname + "<br>"); document.write("The Protocol used is:"+ document.location.protocol + "<br>"); </script> </body> </html>
使用 document.location 加载 URL
要使 document.location 加载 URL,应将其赋值给一个字符串,然后加载字符串中的 URL。要使用新文档进行赋值或加载,可以使用以下示例。
示例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document.location </title> </head> <body> <h2>Document.location</h2> <p>To load a new page</p> <script> function newPage() { document.location.assign("https://tutorialspoint.com/"); } </script> <button type="button" onclick="newPage() ;"> Click </button> </body> </html>
window.location 和 document.location 的区别
window.location 和 document.location 对象都用于获取 URL,但区别在于:
- window.location 在所有浏览器中都是可读写的。
- 而 document.location 在 Internet Explorer 中是只读的,在基于 Gecko 的浏览器中是可读写的。
广告