【发布时间】:2020-07-12 23:49:44
【问题描述】:
我正在开发一个 google chrome 扩展程序,它在特定 URL 旁边添加了一个简单的图标,
- 它会在哪些 URL 上添加图标?
嗯,它基本上是一个 Anti-Rickroll 扩展,可以阻止 rickroll URL
- 有什么问题?
基本上,youtube 中有大量的 rickroll 网址,其中一些是这样的 “Rickroll 但它是一个不同的链接,所以人们无法记住它”当我制作我的项目的第一个原型时,我只添加了原始 Rickroll 和“Rickroll'D”链接,我的代码中的音乐版权 URL 如下所示:
var stringsToBlock = ["/watch?v=dQw4w9WgXcQ", "youtu.be/dQw4w9WgXcQ",
"/watch?v=okqEVeNqBhc", "youtu.be/okqEVeNqBhc", "/watch?v=BROWqjuTM0g",
"youtu.be/BROWqjuTM0g", "/watch?v=IAISUDbjXj0", "youtu.be/IAISUDbjXj0",
"/watch?v=4zKshWnI3ok", "youtu.be/4zKshWnI3ok", "/watch?v=oHg5SJYRHA0",
"youtu.be/oHg5SJYRHA0", "/watch?v=6_b7RDuLwcI", "youtu.be/6_b7RDuLwcI",
"/watch?v=DD70oKDlemE", "youtu.be/DD70oKDlemE", "/video/x1v6sh_rick-astley-never-gonna-give-you-up_music",
"/video/x4g0cb_rick-astley-never-gonna-give-you-up_music", "/video/x1jl5p_rick-astley-never-gonna-give-you-up_creation",
"/video/x46d2_rick-asley-never-gonna-give-you-up_music", "/video/x5ykzv_rick-roll_music",
"/video/x58u4t_rick-roll-never-gonna-give-you-up-r_music", "/video/x58una_rick-roll-never-gonna-give-you-up-r_music",
"/video/x22k2fw_rick-rolled_music", "/video/xsdji_rick-astley-never-gonna-give-you-up_music",
"/video/x1i1js_rick-astley-never-gonna-give-you-up_music", "/video/xeztvl_rick-astley-never-gonna-give-you-up_music",
"/video/x6b3kz_rickroll_news", "/video/x5l8e6_rickroll_fun", "/2619976",
是的,这只是我上面提到的 3 个链接,不包括添加图标的 css
a[href*="/watch?v=dQw4w9WgXcQ"]:not(.rickroll):not(.rickwimg):before,
a[href*="youtu.be/dQw4w9WgXcQ"]:not(.rickroll):not(.rickwimg):before,
a[href*="/watch?v=okqEVeNqBhc"]:not(.rickroll):not(.rickwimg):before,
a[href*="youtu.be/okqEVeNqBhc"]:not(.rickroll):not(.rickwimg):before,
a[href*="/watch?v=BROWqjuTM0g"]:not(.rickroll):not(.rickwimg):before,
a[href*="youtu.be/BROWqjuTM0g"]:not(.rickroll):not(.rickwimg):before,
a[href*="/watch?v=IAISUDbjXj0"]:not(.rickroll):not(.rickwimg):before,
a[href*="youtu.be/IAISUDbjXj0"]:not(.rickroll):not(.rickwimg):before,
a[href*="/watch?v=4zKshWnI3ok"]:not(.rickroll):not(.rickwimg):before,
a[href*="youtu.be/4zKshWnI3ok"]:not(.rickroll):not(.rickwimg):before,
a[href*="/watch?v=oHg5SJYRHA0"]:not(.rickroll):not(.rickwimg):before,
a[href*="youtu.be/oHg5SJYRHA0"]:not(.rickroll):not(.rickwimg):before,
a[href*="/watch?v=6_b7RDuLwcI"]:not(.rickroll):not(.rickwimg):before,
a[href*="youtu.be/6_b7RDuLwcI"]:not(.rickroll):not(.rickwimg):before,
a[href*="/watch?v=DD70oKDlemE"]:not(.rickroll):not(.rickwimg):before,
a[href*="youtu.be/DD70oKDlemE"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x1v6sh_rick-astley-never-gonna-give-you-up_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x4g0cb_rick-astley-never-gonna-give-you-up_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x1jl5p_rick-astley-never-gonna-give-you-up_creation"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x46d2_rick-asley-never-gonna-give-you-up_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x5ykzv_rick-roll_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x58u4t_rick-roll-never-gonna-give-you-up-r_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x58una_rick-roll-never-gonna-give-you-up-r_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x22k2fw_rick-rolled_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/xsdji_rick-astley-never-gonna-give-you-up_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x1i1js_rick-astley-never-gonna-give-you-up_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/xeztvl_rick-astley-never-gonna-give-you-up_music"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x6b3kz_rickroll_news"]:not(.rickroll):not(.rickwimg):before,
a[href*="/video/x5l8e6_rickroll_fun"]:not(.rickroll):not(.rickwimg):before,
a[href*="/2619976"]:not(.rickroll):not(.rickwimg):before,
显然代码还有更多内容。所以基本上我在 youtube 上搜索 rickroll 并复制了 10 个 URL,扩展大小总和为 1.5MB,与其他有用的扩展相比,这确实很大,所以如果我要添加任何 rickroll 链接,它可能会变成 100MB 到 200MB, 那么有什么有用的方法来自动添加网址
我脑子里几乎没有什么想法,但我不确定它们是否有效
- 如果标题或描述包含“Rickroll”,则获取后台脚本以扫描 URL
- 使用 YouTubes API 获取每个可能的 rickroll 链接的巨大列表并将其存储在服务器中 [Chrome 可能不允许,滞后很多,页面加载速度较慢,有很多权限使用户产生怀疑,每月订阅服务器,作为第一个项目不方便]
- 重新编写整个代码以提高查找 URL 的效率
另外,我是一个完全的初学者,所以不要专业地跟我说话,尽量简化答案
【问题讨论】:
-
没有明显的解决方案,所以您必须全部尝试,看看哪个更好。
标签: javascript google-chrome-extension youtube-api