尝试通过替换函数修改字符串不起作用



我试图使用一点js来修改浏览器中的url,但当我连续使用两个时,它不起作用。知道我做错了什么吗?

我正在尝试修改一个youtube url,让另一个网站处理它。

javascript:{
/* this script doesn't work now, needs more work */
let myURL = document.URL ;
let ytURL = "https://ytscribe.com/v/" + myURL.match(/watch.*$/).replace('watch?v=', '') ; 
console.log(ytURL);
}

下面是它抛出的错误:

VM382:4 Uncaught TypeError: myURL.match(...).replace is not a function
at <anonymous>:4:66
(anonymous) @ VM382:4

看起来您正在尝试对match方法的结果使用replace方法,该方法返回一个数组。在使用replace方法之前,您需要首先从数组中访问匹配的字符串:

let myURL = document.URL;
let match = myURL.match(/watch.*$/);
let ytURL = "https://ytscribe.com/v/" + match[0].replace('watch?v=', '');
console.log(ytURL);

上面的代码将在这个YouTube视频页面上执行时将https://www.youtube.com/watch?v=3XKIs1_FpLw变为https://ytscribe.com/v/3XKIs1_FpLw

相关内容

  • 没有找到相关文章

最新更新