为了账号安全,请及时绑定邮箱和手机立即绑定

如何仅在时钟到达特定时间时运行 Chrome 扩展

如何仅在时钟到达特定时间时运行 Chrome 扩展

白衣染霜花 2023-08-05 10:20:12
var timeToJoin = '18:13';var today = new Date();var time = today.getHours() + ":" + today.getMinutes();var SST = 'https://meet.google.com/rnc-akmx-ubk';if (time == timeToJoin) {    joinClass();}function joinClass() {    location.href = SST;    setTimeout(offMicVideo, 10000);}function offMicVideo() {    var video = document.getElementsByClassName('I5fjHe');    var mic = document.getElementsByClassName('oTVIqe');    for (var i = 0; i < video.length; i++) {        video[i].click();    }    for (var i = 0; i < mic.length; i++) {        mic[i].click();    }}这是我的 JavaScript 代码,它的作用就是在正确的时间到来时打开谷歌并加入我的在线课程。如果这一行有一个小问题(time == timeToJoin) {    joinClass();}这里发生的情况是我给出的条件是true一分钟,因此机器人不断尝试加入课程一分钟,它打开链接,然后再次打开相同的链接,直到条件变为假。我尽了最大努力来解决这个问题,但不知道为什么它们都不起作用。
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

由于脚本每次都从头开始,因此您需要保留视频类是否在上次运行中加入。您可以使用 Chrome 的存储 API来实现这一点。文档解释道:

您必须在扩展清单中声明“存储”权限才能使用存储 API。例如:


  {

    "name": "My extension",

    ...

    "permissions": [

      "storage"

    ],

    ...

  }

要存储扩展程序的用户数据,您可以使用以下任一storage.sync[...] storage.local:


  chrome.storage.sync.set({key: value}, function() {

    console.log('Value is set to ' + value);

  });


  chrome.storage.sync.get(['key'], function(result) {

    console.log('Value currently is ' + result.key);

  });

因此,一旦您调整了清单,请更改代码的以下部分:


if (time == timeToJoin) {

    joinClass();

}

...对此:


chrome.storage.sync.get({ classStarted: false }, function({classStarted}) {

   if ((time === timeToJoin) === classStarted) return; // nothing to do

   if (!classStarted) {

     // Persist the fact that we start the class, and call joinClass once it is persisted

     chrome.storage.sync.set({ classStarted: true }, joinClass); 

   } else { 

     // At least one minute elapsed, so we can clean up the persisted value now...

     chrome.storage.sync.remove("classStarted"); 

   }

});


查看完整回答
反对 回复 2023-08-05
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信