首页 > 其他分享 >How to use js to parse a url string to a url object All In One

How to use js to parse a url string to a url object All In One

时间:2024-10-30 10:24:51浏览次数:8  
标签:use const string url URL window location https

How to use js to parse a url string to a url object All In One

如何利用js将url字符串解析为url对象

image

demos

// const url = globalThis.window.location.href;
// const url = window.location.href;

const autoConvertPageToRepo = (page = ``) => {
  if(!globalThis.window) {
    throw new Error(`❌ 当前的 js 运行环境不支持 Web API!`)
  }
  let url = ``;
  try {
    if(!page) {
      // in io page ✅
      const host = window.location.host.split(`.`)[0];  
      const protocol = window.location.protocol;
      const pathname = window.location.pathname;
      url = `${protocol}//github.com/${host}${pathname}`;
    } else {
      // URL parser,ulr string => URL
    }
    console.log(`✅ repo url =`, url)
  } catch (error) {
    console.error(`❌ generate repo url error`, error)
  }
  return url;
}


// test cases
autoConvertPageToRepo();
// autoConvertPageToRepo(`https://txstc55.github.io/ugly-avatar/`);
// https://github.com/txstc55/ugly-avatar/

image

solution ✅

const autoConvertPageToRepo = (uri = ``) => {
  if(!globalThis.window) {
    throw new Error(`❌ 当前的 js 运行环境不支持 Web API!`)
  }
  let url = ``;
  try {
    if(!uri) {
      // in io page ✅
      const host = window.location.host.split(`.`)[0];  
      const protocol = window.location.protocol;
      const pathname = window.location.pathname;
      url = `${protocol}//github.com/${host}${pathname}`;
    } else {
      // URL parser,ulr string => URL 

标签:use,const,string,url,URL,window,location,https
From: https://www.cnblogs.com/xgqfrms/p/18515232

相关文章

  • [LeetCode] 3216. Lexicographically Smallest String After a Swap
    Givenastringscontainingonlydigits,returnthelexicographicallysmalleststringthatcanbeobtainedafterswappingadjacentdigitsinswiththesameparityatmostonce.Digitshavethesameparityifbothareoddorbothareeven.Forexample,5......
  • 【SpringMVC】传递json,获取url参数,上传文件
    【传递json数据】【json概念】一种轻量级数据交互格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,其本质上是字符串,负责在不同的语言中数据传递与交换json数据以字符串的形式体现【json字符串与Java对象互转】我们需要在pom.xml中增加对json的依赖【对象转jso......
  • [错误代码] SQLSTATE[HY000] [1045] Access denied for user 'cs2021'@'localhost' (u
    错误分析错误代码:SQLSTATE[HY000][1045]Accessdeniedforuser'cs2021'@'localhost'(usingpassword:YES)错误类型:数据库连接错误错误原因:用户名或密码错误。数据库用户没有权限从 localhost 连接。MySQL服务未启动或配置问题。解决方案检查用户名和密码......
  • 网站程序调用数据库时提示“command denied to user”
    问题现象使用云虚拟主机搭建网站后,当网站程序调用数据库失败时,提示 XXXcommanddeniedtouser,通常在执行 INSERT 和 UPDATE 操作时出现。可能原因数据库空间已满:当数据库的空间已满时,无法执行写入操作,如 INSERT 和 UPDATE。解决方案登录云虚拟主机管理页面打......
  • string和初学指针和动态内存分配
    strcmp:原型定义于:<string.h>intstrcmp(constchar*str1,constchar* str2)比较的标准是ASCII从第一个字符开始比,直到遇到不同的字符或者返回NULL(0)若STR1[I]>STR2[I],返回1若STR1[I]<STR2[I],返回-1若STR1[I]=STR2[I],返回0strcpy:原型定义于<string.h>常用于字符串......
  • 【JavaSE】认识String类,了解,进阶到熟练掌握
    #1024程序员节|征文#下面就让博主带领大家一起解决心中关于String类的疑问吧~~~1.字符串构造:第一种和第二种(有一定的区别,在常量池上)publicstaticvoidmain(String[]args){//使用常量串构造Strings1="hello";System.out.println(s1);//直接newString对象S......
  • 《FashionViL: Fashion-Focused Vision-and-Language Representation Learning》中文
    文章汉化系列目录文章目录文章汉化系列目录摘要1引言2相关工作3方法论3.1模型概述3.2预训练任务4实验*4.1预训练数据集和下游任务4.2比较结果4.3消融研究4.4可视化5结论摘要 大规模视觉-语言(V+L)表示学习的预训练已被证明在提升各种下游V+L任务上非......
  • react.js中useMemo和useEffect的区别
    1、当messages发生变化时执行scrollToBottom方法useEffect(()=>{scrollToBottom();},[messages]);constscrollToBottom=()=>{//页面滚动到底部messagesEndRef.current?.scrollIntoView({behavior:"smooth"});}以上例子中,useEffect可以用useMemo代替吗?不可......
  • 通过鼠标事件获取鼠标位置在3d中的坐标mouse/Raycaster
      监听事件ThreeDom.current.addEventListener('mousemove',mousemoveFunc,false);监听方法constmousemoveFunc=(event)=>{event.preventDefault();//计算鼠标在屏幕上的位置constmouse=newTHREE.Vector2();mouse.x=(event.clientX......
  • 解决:swagger2 Could not resolve reference because of: Could not resolve pointer:
    问题:使用swagger时页面出现报警信息mavaen依赖版本:2.8.0<!--swagger2--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.8.0<......