default.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * This script power by Mure.Yang (2024/05/11)
  3. */
  4. // -- 获取指定参数值 (地址链接模式) ----------------------------------------------------
  5. function getUrlParam(name) {
  6. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  7. var r = window.location.search.substr(1).match(reg);
  8. if (r != null) return unescape(r[2]); return null;
  9. }
  10. // -- 参数字符串 --------------------------------------------------------------------
  11. const QueryString = {
  12. // 解析当前URL中的查询字符串,并返回一个对象
  13. parse: function(query) {
  14. const params = new URLSearchParams(query);
  15. const result = {};
  16. params.forEach((value, key) => {
  17. result[key] = value;
  18. });
  19. return result;
  20. },
  21. // 构建查询字符串
  22. build: function(params) {
  23. return new URLSearchParams(params).toString();
  24. },
  25. // 更新URL中的多个参数
  26. updateParams: function(params) {
  27. // 获取当前URL
  28. const url = new URL(window.location);
  29. // 解析当前URL的查询字符串
  30. let queryParams = this.parse(url.search);
  31. // 遍历传入的对象,更新参数值
  32. Object.keys(params).forEach(key => {
  33. queryParams[key] = params[key];
  34. });
  35. // 更新查询字符串
  36. url.search = this.build(queryParams);
  37. // 返回更新后的URL
  38. return url.href;
  39. }
  40. };
  41. // -------------------------------------------------------------------------------