我试图使用一点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
。