我正在尝试编写我的第一个google chrome扩展,我有点卡住了。所以,我试图做一个扩展,当一个用户'Upvotes'在Reddit.com上的链接,如果它是一个youtube.com链接,我想抓住那个链接和'喜欢'的视频。它把4-5次点击变成了一次。
我的主要问题是我怎么去听那个"Upvote"按钮被击中?我需要使用Reddit的api来监听这个吗?或者是否有某种方法/事件监听器可以告诉我用户是否单击了upvote按钮?
我确实注意到当检查upvote按钮上的元素时,当它还没有被点击时,箭头上的一个类是'Up',当你点击它时,它会变成'Upmod'
我只需要弄清楚这个,我觉得我可以轻松地完成其余的工作。我现在正在自学javascript,我发现最好的方法就是做一个项目,边做边学。任何帮助将不胜感激!谢谢你
由于upvote仅通过点击触发,只需在声明在reddit视频url (https://www.reddit.com/r/videos/*
,例如)上运行的内容脚本中附加click
事件侦听器:
document.addEventListener('click', function(e) {
if (e.target.matches('.arrow.upmod')) {
............
// like it on youtube
............
}
});
要在youtube上投票,您需要在可以连接到您在manifest中声明的任何url的背景/事件页面中进行投票。json的权限。
因此,发送带有视频url的消息到您的活动页面。例如,在事件页面的消息侦听器中,您将按照youtube API发送XMLHttpRequest。这将需要在上述permissions
中添加API url。