【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集

简介: 【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集


$g.$utils.hash = {
    get(win) {
        return decodeURIComponent((win || top).location.hash.substr(1));
    }, 
    getSearchAndHash(win) {
        win || (win = top);
        return decodeURIComponent(win.location.search + win.location.hash);
    }, 
    set(hash, win, isReload) {
        hash || (hash = "");
        win = win || top;
        win.location.hash = hash;
        isReload && win.location.reload();
    }, 
 
    addListener(win) {
        (win || window).onhashchange = function () {
            this.location.reload();
        }
    }, 
    
    getUrlParam(name, win, isEncode) {
        var r = (win || top).location.search.substr(1).match(new RegExp("(^|&)" + name + "=([^&]*)(&|$)"));
        if (r != null) {
            return isEncode ? r[2] : decodeURIComponent(r[2]);
        }
        return null;
    }, 
    getUrlParams(url) {
        var reg = /([^=&\s]+)[=\s]*([^&\s]*)/g, ls = url || location.search.substr(1), obj = {};
        while (reg.exec(ls)) obj[RegExp.$1] = decodeURIComponent(RegExp.$2);
        return obj;
    }, 
 
    setUrlSearch(search, win, isReload) { /*此方法可以点击网页返回按钮*/
        win = win || top;
        win.history.pushState(null, null, search || "./");
        isReload && win.location.reload();
    }, 
    replceUrlSearch(search, win, isReload) { /*此方法无网页返回按钮行为*/
        win = win || top;
        win.history.replaceState(null, null, search || "./");
        isReload && win.location.reload();
    }, 
 
    getFileName() {
        var lp = location.pathname, fn = lp.substr(lp.lastIndexOf("/") + 1);
        return fn.substr(0, fn.lastIndexOf("."));
    }
};

扩展阅读:


相关文章
|
5天前
|
JavaScript
浏览器插件crx文件--JS混淆与解密
浏览器插件crx文件--JS混淆与解密
25 0
|
3天前
|
Web App开发 JavaScript 前端开发
浏览器与Node.js事件循环:异同点及工作原理
浏览器与Node.js事件循环:异同点及工作原理
|
3天前
|
前端开发 JavaScript Java
Java与JavaScript的区别与联系:有人的地方就有江湖,有浏览器的地方就有JavaScript
Java与JavaScript的区别与联系:有人的地方就有江湖,有浏览器的地方就有JavaScript
|
5天前
|
缓存 负载均衡 网络协议
在浏览器地址栏中输入URL后发生了什么
这是一个关于网页加载过程的概述:首先,浏览器查询IP地址,通过DNS解析域名;接着,建立TCP连接,发起HTTP请求;服务器处理请求并返回HTTP响应;最后,浏览器解析和渲染网页内容。过程中涉及DNS缓存、TCP三次握手、HTTP请求与响应、HTML解析、CSS和JS加载,以及渲染树的构建。为了优化网站性能,可以减少DNS查询、合并文件、压缩资源、提前加载CSS和延迟加载JS。
|
5天前
|
JavaScript 前端开发
Playwright执行 JavaScript 脚本:探索浏览器自动化的新境界
在Web自动化中,Playwright提供`page.evaluate()`和`page.evaluate_handle()`来执行JavaScript脚本。`page.evaluate()`返回脚本执行结果,而`page.evaluate_handle()`返回JSHandle。示例展示了如何使用它们,如打印网页标题、操作元素及获取页面内容。通过这些方法,可以处理常规方法难以操作的网页元素。
12 2
|
5天前
|
移动开发 JavaScript 前端开发
javascript监听浏览器离开、进入行为
javascript监听浏览器离开、进入行为
14 0
|
5天前
|
JavaScript 前端开发
javascript获取url信息的常见方法
javascript获取url信息的常见方法
18 2
|
5天前
|
JavaScript 前端开发 开发者
JavaScript基础入门之浏览器控制台调试输出
本文章是对小白学习js的初级教程,也是我对自己学习经验的一种总结,文章大多采用使用案例加讲解,带动学习的方式.因为我们的天性总是喜欢有及时反馈的事物,但是学习是一个慢长的事情,而有结果的回应,才会更好的促进自己去学习,主要是对于javascript学习中的输出,有个大体上的了解,同时通过教学能够更好的使用浏览器来方便我们去学习和运行代码,也是对自己进行笔记整理,对抓住信息关键点的一种提高.
|
5天前
|
JavaScript
如何在JS中实现修改URL参数而不刷新页面
如何在JS中实现修改URL参数而不刷新页面
|
5天前
|
存储 JavaScript 前端开发
js原生方法,获取url上面所有参数,并返回一个对象
JavaScript函数`getUrlParameters`用于从URL中提取所有参数并返回一个键值对对象。它接收URL,分割查询字符串,解码参数对,并存储在对象中。重复参数键会被存储为数组。