我只想获取网站URL。不是从链接获取的URL。在页面加载时,我需要能够获取网站的完整、当前URL,并将其设置为一个变量,以便根据需要进行处理。
当前回答
获取当前页面URL:
window.location.href
其他回答
好的,使用纯JavaScript很容易获得当前页面的完整URL。例如,在此页面上尝试以下代码:
window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"
window.location.href属性返回当前页面的URL。
document.getElementById(“root”).innerHTML=“此页面的完整URL为:<br>”+window.location.href;<!DOCTYPE html><html><body><h2>JavaScript</h2><h3>窗口.location.href</h3><p id=“root”></p></body></html>
同样值得一提的是:
如果需要相对路径,只需使用window.location.pathname;如果要获取主机名,可以使用window.location.hostname;如果需要单独获取协议,请使用window.location.protocol此外,如果您的页面具有哈希标记,则可以获取如下内容:window.location.hash。
所以window.location.href一次处理所有内容。。。基本上:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
如果已经在窗口范围内,则不需要使用窗口。。。
因此,在这种情况下,您可以使用:
location.protocol
location.hostname
location.pathname
location.hash
location.href
打开开发人员工具,在控制台中键入以下内容,然后按Enter键。
window.location
下面是当前页面上的结果截图。
从这里获取您需要的信息。:)
使用window.location对与当前帧关联的位置对象进行读写访问。如果您只想以只读字符串形式获取地址,可以使用document.URL,它应该包含与window.location.href相同的值。
使用此项:
var url=window.location.href;console.log(url);
URL信息访问
JavaScript为您提供了许多方法来检索和更改显示在浏览器地址栏中的当前URL。所有这些方法都使用Location对象,这是Window对象的属性。您可以通过读取window.Location来读取当前Location对象:
var currentLocation = window.location;
基本URL结构
<protocol>//<hostname>:<port>/<pathname><search><hash>
protocol:指定用于访问Internet上资源的协议名称。(HTTP(不带SSL)或HTTPS(带SSL))hostname:主机名指定拥有资源的主机。例如,www.stackeoverflow.com。服务器使用主机名提供服务。端口:用于识别Internet或其他网络消息到达服务器时要转发到的特定进程的端口号。路径名:路径提供有关Web客户端希望访问的主机内特定资源的信息。例如,/index.html。搜索:路径组件后面有一个查询字符串,它提供了资源可以用于某些目的的信息字符串(例如,作为搜索的参数或作为要处理的数据)。hash:URL的锚定部分,包括哈希符号(#)。
使用这些Location对象财产,您可以访问所有这些URL组件以及它们可以设置或返回的内容:
href-整个URLprotocol-URL的协议host—URL的主机名和端口hostname—URL的主机名port-服务器用于URL的端口号pathname—URL的路径名search-URL的查询部分hash-URL的锚定部分origin-window.location.protocol+'//'+window.location.host
我希望你得到了答案。。
推荐文章
- 如何在Typescript中解析JSON字符串
- Javascript reduce()在对象
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?