Javascript书签直接从youtube下载到mp3

时间:2016-12-02 18:23:11

标签: javascript google-chrome

我正在编辑一个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视频页面并按下书签按钮时运行代码。

但出于某种原因,书签似乎不起作用。所以我打开了控制台并检查了原因。下面的图片有错误..

in console this error comes

on further examining i find that %2F is getting detected as closing '/' so its not detecting the latter part

进一步检查我发现%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>

2 个答案:

答案 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');}}) ();