下面我会详细讲解“详解javascript获取url信息的常见方法”的完整攻略。
下面我会详细讲解“详解javascript获取url信息的常见方法”的完整攻略。
获取url信息
在javascript中,获取url信息可以通过window.location对象来实现。window.location提供了一系列属性,能够帮助我们轻松获取当前网页的各种信息。
获取url
获取当前页面url的方法是直接访问window.location属性,如下所示:
console.log(window.location.href); // 打印当前页面url
解析url
获取url仅是获取整个url字符串,如果仅仅需要其中某些部分,比如查询参数,就需要对url进行解析。解析可以使用window.location对象提供的其它属性,如下所示:
protocol
获取协议名,返回值为'http:'或'https:'等。
console.log(window.location.protocol); // 打印协议名(http或https)
host
获取主机名(包括端口号)。返回值为'www.example.com:8000'这样的字符串格式。
console.log(window.location.host); // 打印主机名和端口号
hostname
获取主机名,与host不同的是不包括端口号。返回值为'www.example.com'这样的字符串格式。
console.log(window.location.hostname); // 打印主机名(不包括端口号)
port
获取端口号,如果没有端口则返回空字符串。
console.log(window.location.port); // 打印端口号
pathname
获取路径部分,即域名之后和查询参数之前的部分。
console.log(window.location.pathname); // 打印路径部分
search
获取查询参数部分,即'?'后面到'#'前面的部分。
console.log(window.location.search); // 打印查询参数部分
hash
获取锚点部分,即'#'后面的部分。
console.log(window.location.hash); // 打印锚点部分
示例
示例1:解析查询参数
假设当前页面url为https://www.example.com/search?keyword=javascript&page=1#result
,我们希望获取查询参数中关键词(keyword)和页数(page)。
let searchParams = new URLSearchParams(window.location.search);
// 获取关键词
let keyword = searchParams.get('keyword');
// 获取页数
let page = searchParams.get('page');
console.log(`关键词:${keyword},页数:${page}`); // 打印:关键词:javascript,页数:1
示例2:拼接url
假设我们有一个搜索框和一个搜索按钮,用户输入关键字后点击搜索按钮,页面需要跳转到https://www.example.com/search?keyword=xxx&page=1#result
,其中xxx是用户输入的关键字。
let searchInput = document.querySelector('#search-input');
let searchButton = document.querySelector('#search-button');
searchButton.addEventListener('click', function() {
let keyword = searchInput.value;
let url = `${window.location.protocol}//${window.location.host}/search?keyword=${keyword}&page=1#result`;
window.location.href = url; // 跳转到新的url
});
以上就是“详解javascript获取url信息的常见方法”的完整攻略,希望对你有所帮助。
本文标题为:详解javascript获取url信息的常见方法
- Spring Boot Vue从零开始搭建系统(三):项目前后端分离 2023-10-08
- 从本地html / javascript网站插入mySQL数据库 2023-10-26
- 我用什么结构类型的HTML内容(MySQL) 2023-10-26
- input file上传 图片预览功能实例代码 2023-12-26
- 用CSS控制的闪烁效果 2022-10-16
- Ajax跨域访问Cookie丢失问题的解决方法 2023-01-26
- vue后台返回格式为二进制流进行文件的下载方式 2024-01-16
- javacript获取当前屏幕大小 2023-11-30
- jsp+ajax实现无刷新上传文件的方法 2022-12-15
- 关于Ajax异步请求后台数据进行动态分页功能 2023-02-15