如何使用 javascript 提取并更改 url 路径?

2024-03-13

我正在尝试提取部分 url 并使用 javascript 将其替换为自定义文本。

例如,我想获取当前的 url,例如:
mydomain.com/url_part_to_change/some-other-stuff

然后更改要插入的 url,以便新的新 url 为:
mydomain.com/new_url_part/some-other-stuff

这是我所拥有的:

function changeURL() {
        var theURL = window.location.pathname;
        theURL.replace("/url_part_to_change/", "/new_url_part/");
        //Set URL
}

但是,当我尝试调用该函数时changeURL(),它返回undefined而不是新的网址。


例如,如果我这样做:

alert(changeURL());

那么警报是什么undefined


TL;DR

// update the pathname that will reload the page
window.location.pathname = myNewPathname;

进一步说明:

窗口位置 https://developer.mozilla.org/en-US/docs/Web/API/Window/location(下面附有图片)为您提供一个包含所有 uri 部分信息的对象。所以,你可以通过以下方式获取这个对象window.location并访问该属性pathname然后做你的事情。例如:

var locationObject = window.location;
var pathnameToChange = locationObject.pathname;

// do stuffs to "copy" of pathname, this will not reload the page
var myNewPathname = doSomethingMyPathname( pathnameToChange );

其他示例:

或者,使用设置新网址location.href。检查MDN 文档 https://developer.mozilla.org/en-US/docs/Web/API/Window/location例如location.assign(), location.replace(), location.reload()以及不同可用功能的注释

// ie.myNewUrl is something I created -> www.blah.com/updated/path
window.location.href = myNewUrl; 

// or
window.location.assign(myNewUrl)

控制台中的 window.location 对象

进一步了解 URI 组件有三个参考资料

  1. URI_方案 http://en.wikipedia.org/wiki/URI_scheme
  2. Tim Berners-Lee 编写的标准 https://www.rfc-editor.org/rfc/rfc3986#section-3.5
  3. MDN 位置 https://developer.mozilla.org/en-US/docs/Web/API/Location

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 javascript 提取并更改 url 路径? 的相关文章

随机推荐

  • SwiftUI macOS 命令(菜单栏)和视图

    大家好 我开始学习 SwiftUI 和 macOS 开发 我正在使用 SwiftUI 生命周期 如何从菜单栏的聚焦窗口调用函数 除了Apple文档之外 我还发现这个参考 https swiftwithmajid com 2020 11 24
  • 使用Intent发送数据

    如何使用 Intent 将数据 例如字符串 从活动 A 发送到活动 B 而无需离开活动 A 我还需要知道如何捕获活动 B 中的数据并将其添加到文本视图中 您正在寻找的是广播接收器 我应该发送广播的活动 public class Activi
  • 如何在R中提取具有相同名称但不同标识符的列

    抱歉 如果它太基础了 但我对 R 不熟悉 我有一个数据框 其中多个列具有相同的列名 因此在导入到 R 后 已添加标识符 像这样的事情 A c 2 3 5 A 1 c aa bb cc A 2 c TRUE FALSE TRUE B c 1
  • 在 python 中提取和解码字符串化字节字符串?

    我有这样的字符串 其中有一个字符串化的字节子字符串 如下所示 some string b Hurricane Mitch n 提取嵌套 b 字符串以便我可以用 utf8 正确解码它的最佳方法是什么 最直接的方法 仍然比您需要的更强大 但可能
  • 我的 .htaccess 文件无法正常工作

    我已将我的项目添加到免费托管 000webhost 上 我的所有文件都列在 public html 目录中 项目是在codeigniter中构建的 我在 public html htaccess 添加了 htaccess 文件 其中包含 O
  • C for 循环遍历带指针的数组

    我是 C 新手 但我有 Java 和 Android 经验 我的 for 循环有问题 它永远不会结束 只会继续下去 char entered string 50 char p string NULL gets entered string
  • Api-Platform:在 SF 4 中使用 Yaml 配置代替注释

    我想在 Api Platform 中使用 YAML 而不是注释 我没有使用 Api Platform 发行版 而是将 api pack 添加到了现有的 Symfony Flex 项目中 composer req api 文档说 YAML 文
  • “在我的机器上运行” - 如何修复不可重现的错误?

    偶尔 尽管进行了所有测试 我还是收到了客户的错误报告 而我根本无法在办公室重现该错误报告 Apologies to Jeff http www codinghorror com blog archives 000818 html for t
  • PHP 中如何处理并发请求(使用线程、线程池或子进程)

    据我所知 PHP 支持处理多个并发连接 并且根据服务器的不同 可以按照本中提到的方式进行配置answer https stackoverflow com a 1430890 2159867 服务器如何管理多个连接 是为每个请求分叉一个子进程
  • 从 jquery ajax GET 将多个参数传递给 .asmx

    html a fill in names and check it out a br p Enter First Name p
  • JPA 日期文字

    如何在不使用 类型化 参数的情况下表示 JPA 查询中的日期 如果日期确实是固定的 例如 1980 年 3 月 1 日 则代码 TypedQuery
  • 带编译时检查的 l18n 框架

    我目前正在开发一个更大的 Java 桌面应用程序 现在我想添加翻译 l18n 系统让我困扰的是 它不提供任何类型的编译时检查 在java的系统中 你有类似的东西HashMap 其中每个本地化字符串都有一个 Key 翻译后的字符串就是 Val
  • 快速调整每个故事板问题的大小

    我想知道是否有人可以告诉我如何编写此代码 以便它自动调整大小以适应不同的屏幕尺寸 我有 4 个屏幕尺寸不同的故事板 只是想要一种显示代码的方法 如果这个故事板那么 数字改变 遵循这个代码 否则 数字根据故事板大小而变化 这个代码 我已经尝试
  • Git 克隆错误“CONNECT 后来自代理的 HTTP 代码 504”

    我在公司防火墙后面的办公室工作 我的系统是Windows 7 使用consola组件 通常我需要设置代理连接才能让 GIT 与 github 一起工作 但是当我尝试克隆存储在私有 Stash Atlassian 中的存储库时 我收到此错误
  • 甲骨文移动平均线

    我有一个表 日期 有效负载 其中包含大约 10 年的数据 我想计算移动平均值 MA 以基于 14 天 2 周 和 90 天 12 周 间隔显示有效负载的趋势 我已经编写了这个查询 但它给了我错误的值 SELECT x ABS LTMA ST
  • 解析 phantomjs 中的 post 数据

    I am working with the POSTMAN extension to chrome and am trying to send a post request to phantomjs I have managed to se
  • Visual Studio 2008 中 BizTalk 架构项目的引用问题

    在大型 VS 2008 解决方案中 我们有不同的架构项目和映射项目 映射项目引用了适当的模式项目 总体来说效果很好 但是 最近我添加了一个新的架构项目 它始终如一地给出了同样的问题 当我向其中添加新架构 并且想要在已引用该架构项目的映射项目
  • 在Puppeteer中进行网页抓取时如何处理验证码?

    我正在使用 Puppeteer 进行网页抓取 我刚刚注意到 有时 由于我通过计算机进行的访问量很大 我尝试抓取的网站会要求输入验证码 验证码形式如下所示 因此 我需要有关如何处理此问题的帮助 自从我使用 Express 和 EJS 将值发送
  • 使用 iframe 时,Angular 2 应用程序组件 ngOnInit 被调用两次

    我正在开发一个 Angular 2 应用程序 该应用程序将通过其他网站上的 iframe 进行交付 在测试时我注意到当我加载应用程序时应用程序组件ngOnInit 函数被调用两次 我觉得这很奇怪 因为当我 自己 测试应用程序时 即不是通过
  • 如何使用 javascript 提取并更改 url 路径?

    我正在尝试提取部分 url 并使用 javascript 将其替换为自定义文本 例如 我想获取当前的 url 例如 mydomain com url part to change some other stuff 然后更改要插入的 url