我正在尝试编写我的第一个google chrome扩展,但我有点被一些东西卡住了。所以,我正在尝试做一个扩展,当用户在Reddit.com上‘提升’一个链接时,如果它是一个youtube.com链接,我想抓取这个链接并‘喜欢’视频。所以它基本上把4-5次点击变成了一次点击。
我的主要问题是,我如何去监听‘向上投票’按钮被点击?我需要使用Reddit的api来监听吗?或者,是否有某种方法/事件侦听器可以告诉我用户是否单击了向上投票按钮?
我确实注意到,当检查upvote按钮上的元素时,当它没有被点击时,箭头上的一个类是'Up‘,当你点击它时,它变成了'Upmod’。
我只需要弄清楚这一点,我觉得我可以轻松地完成剩下的工作。我现在正在自学javascript,我发现最好的方法就是做一个项目,边做边学。
任何帮助都将不胜感激!谢谢
发布于 2016-08-09 02:04:31
由于向上投票仅通过点击触发,因此只需在声明在reddit视频urls (例如https://www.reddit.com/r/videos/*
)上运行的content script中附加一个click
事件侦听器:
document.addEventListener('click', function(e) {
if (e.target.matches('.arrow.upmod')) {
............
// like it on youtube
............
}
});
要在youtube上投票,你需要在后台/事件页面中进行,该页面可以连接到你在manifest.json的permissions中声明的任何urls。
因此,使用视频url对您的event page执行send a message。例如,在事件页面的消息侦听器中,您将按照youtube API发送一个XMLHttpRequest。这将需要在上述permissions
中添加API url。
https://stackoverflow.com/questions/38835093
复制相似问题