我正在编辑一个javascript代码[该代码直接将我的视频下载到mp3],因为该网站提供的代码无法运行..我尝试自己编辑
这是下面的代码
javascript:(function() {if (location.href.indexOf('www.youtube.com') > -1) {var uri_enc = encodeURIComponent(location.href).replace(/https%3A%2F%2Fwww.youtube.com%2Fwatch/g,'');var uri_dec = decodeURIComponent(uri_enc);window.open("http://youtubeplaylist-mp3.com/" + uri_dec)}else{alert('sorry youcant');}}) ();
现在的问题是,我在chrome中创建了这个代码的书签,书签的目的是在我访问youtube视频页面并按下书签按钮时运行代码。
但出于某种原因,书签似乎不起作用。所以我打开了控制台并检查了原因。下面的图片有错误..
进一步检查我发现%2F被检测为关闭' /'所以它没有检测到后一部分
由于这种错误检测,我的书签无效。 然而,好消息是,如果我将代码复制粘贴到控制台直接执行,那么它将成功运行。
但这太过分了。:日常使用。
请帮我修复书签。
Javascript已解决且书签正在运行... 下面是完整的代码..它适用于单个视频和播放列表..当您在视频页面或播放列表页面上时,您只需要点击书签即可直接下载页面...
javascript:(function() {if (location.href.indexOf('www.youtube.com') > -1) {var uri_enc = location.href.replace(/https:\/\/www.youtube.com\/watch|https:\/\/www.youtube.com\/playlist/g,'');window.open("http://youtubeplaylist-mp3.com/" + uri_enc);}else{alert('sorry youcant');}}) ();
我还在学习javascript,所以花了很多时间才能理解答案,但感谢那些特别回答TigOldBitties的编码员,他们提供了完整的代码,我从中了解了错误是什么......祝你有个美好的一天.. < / p>
答案 0 :(得分:0)
不,这不是一个错误。
书签指向网址。
您碰巧将JavaScript编码到您的网址中......以及JavaScript中的网址。
您需要两次逃离/
。一次访问http:
网址,然后再访问javascript:
网址。
因此/
变为%2F
,变为%252F
答案 1 :(得分:0)
您需要转义正斜杠,以便它们不会关闭正则表达式
.replace(/https:\/\/www.youtube.com/, '')
LE:完整的答案是,既然您知道可以转义特殊字符,那么您可以删除不必要的编码并使用:
javascript:(function() {if (location.href.indexOf('www.youtube.com') > -1) {var uri_enc = location.href.replace(/https:\/\/www.youtube.com\/watch/g,'');window.open("http://youtubeplaylist-mp3.com/" + uri_enc);}else{alert('sorry youcant');}}) ();