jquery获取url
获取当前页面完整 URL
使用 window.location.href 可以获取当前页面的完整 URL,包括协议、域名、路径和查询参数。
var currentUrl = window.location.href;
console.log(currentUrl); // 输出完整URL
获取协议部分
使用 window.location.protocol 可以获取 URL 的协议部分(如 http: 或 https:)。
var protocol = window.location.protocol;
console.log(protocol); // 输出协议部分
获取主机名和端口
window.location.host 返回主机名和端口号(如果有)。
var host = window.location.host;
console.log(host); // 输出类似 "www.example.com:8080"
获取主机名
window.location.hostname 仅返回主机名,不包含端口号。
var hostname = window.location.hostname;
console.log(hostname); // 输出类似 "www.example.com"
获取端口号
window.location.port 返回端口号,如果 URL 中没有明确指定端口则返回空字符串。
var port = window.location.port;
console.log(port); // 输出端口号或空字符串
获取路径部分
window.location.pathname 返回 URL 的路径部分。
var pathname = window.location.pathname;
console.log(pathname); // 输出类似 "/path/to/page.html"
获取查询参数
window.location.search 返回 URL 的查询字符串部分,包括开头的问号。
var queryString = window.location.search;
console.log(queryString); // 输出类似 "?param1=value1¶m2=value2"
获取哈希值
window.location.hash 返回 URL 的哈希部分(锚点),包括开头的井号。
var hash = window.location.hash;
console.log(hash); // 输出类似 "#section1"
解析查询参数
如果需要将查询字符串解析为对象,可以使用以下方法:
function getQueryParams() {
var queryString = window.location.search.substring(1);
var params = {};
queryString.split('&').forEach(function(pair) {
var keyValue = pair.split('=');
if (keyValue[0]) {
params[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1] || '');
}
});
return params;
}
var queryParams = getQueryParams();
console.log(queryParams); // 输出解析后的参数对象
修改 URL 部分
使用 jQuery 修改当前 URL 的部分内容:

// 修改哈希值
window.location.hash = 'new-section';
// 修改查询参数
var newUrl = window.location.pathname + '?newParam=value';
history.pushState({}, '', newUrl);
注意事项
- 这些属性都是可读写的,但直接修改它们可能会导致页面重定向
- 使用
history.pushState()可以修改 URL 而不刷新页面 - 对于单页应用,建议使用路由库(如 React Router、Vue Router)来处理 URL 变化






