如何在Go语言中获取URL中的页面名称?
获取页面URL中的文件名并打印的实现方法
方法一:利用window.location.pathname结合字符串分割
这是最直接的实现方式,通过浏览器原生的window.location对象获取路径,再拆分出最后一段作为文件名:
function printPageName() { const path = window.location.pathname; const pageName = path.split('/').pop(); console.log(pageName); } // 调用函数执行 printPageName();
当页面URL为http://localhost:8080/login.html时,window.location.pathname会返回/login.html,通过split('/')拆分为["", "login.html"],最后用pop()取出末尾的login.html并打印。
方法二:使用URL对象解析(更稳定)
对于包含查询参数、哈希值的复杂URL,使用原生URL对象解析更可靠,能避免手动处理字符串的潜在问题:
function printPageName() { const currentUrl = new URL(window.location.href); const pathSegments = currentUrl.pathname.split('/'); // 过滤路径中可能出现的空字符串(比如路径末尾带斜杠的情况) const validSegments = pathSegments.filter(segment => segment.length > 0); const pageName = validSegments.pop() || ''; console.log(pageName); } printPageName();
比如URL为http://localhost:8080/user/profile/?id=123#settings,currentUrl.pathname返回/user/profile/,过滤空段后得到["user", "profile"],最终打印profile;如果是login.html的场景,依然能正确输出目标文件名。
处理无文件名的场景
如果页面URL是根路径(如http://localhost:8080/),上述方法会返回空字符串。可以根据需求添加默认值,适配静态站点的首页规则:
function printPageName() { const path = window.location.pathname; const pathSegments = path.split('/').filter(segment => segment); const pageName = pathSegments.pop() || 'index.html'; console.log(pageName); }
此时根路径下会自动打印index.html,符合多数静态页面的默认逻辑。
内容的提问来源于stack exchange,提问作者user19909642
相关产品推荐
相关产品推荐

