资源共享,记录个人心得等

减少 ChatGPT 官方网页需要频繁刷新的简单办法

转载自:https://www.v2ex.com/t/926890

多开一个标签页,访问一个需要过验证但又不会有交互请求的链接,例如:

https://chat.openai.com/404

装个自动刷新的插件,我用的是 GitHub 随便找的:

https://github.com/Claxtastic/just-refresh ( jquery.min.js 已经和官网的对比过是一致的)

我设置的间隔是 3 秒,对我来说很管用,希望能帮到你们。

原理很简单,用别的更优雅的方式自然也可以实现。

油猴脚本

油猴版本,不想装油猴就直接在对话页面的 DevTools – Console 里执行。 优雅一点,不需要多开个标签页了。 应该没人太在意 DevTools – Network 里有很多 404 请求吧?

 // ==UserScript==
 // @name         ChatGPT heartbeat
 // @namespace   http://tampermonkey.net/
 // @version     0.1
 // @description try to take over the world!
 // @author       https://v2ex.com/t/926890
 // @match       https://chat.openai.com/*
 // @icon         https://chat.openai.com/favicon.ico
 // @grant       none
 // ==/UserScript==
 ​
 (function() {
     'use strict';
     setInterval(function(){
         fetch('https://chat.openai.com/404');
    }, 3000);
 })();

上面这个油猴脚本仅仅 fetch 404 似乎没有自动刷新那么有效,我实测还是要刷新了,干脆用 iframe 了,写法可能不好,欢迎指点:

 // ==UserScript==
 // @name         ChatGPT heartbeat
 // @namespace   http://tampermonkey.net/
 // @version     0.1
 // @description try to take over the world!
 // @author       https://v2ex.com/t/926890
 // @match       https://chat.openai.com/*
 // @icon         https://chat.openai.com/favicon.ico
 // @grant       none
 // ==/UserScript==
 ​
 (function () {
   var iframe = document.createElement("iframe");
   iframe.id = "heartbeat";
   iframe.style = "display:none";
   iframe.name = "heartbeat";
   iframe.src = "https://chat.openai.com/404/";
   var fn = function () {
     setTimeout(function(){
         iframe.src = "https://chat.openai.com/404/" + Math.random();
    }, 3000);
  };
   if (iframe.attachEvent) {
     iframe.attachEvent("onload", fn);
  } else {
     iframe.onload = fn;
  }
   document.body.insertBefore(iframe, document.body.firstChild);
 })();

上面的油猴脚本占用太高了,风扇呼呼的。 实测 robots.txt 也有效(fetch 可能失效大概是 Cloudflare 对 Headers 的检测?)。 下面是 ChatGPT heartbeat 再也不改版,未来如果 robots.txt 无效了可以自己修改链接为 404,如果觉得每5秒请求一次太频繁了可以自己调大时间间隔。

 // ==UserScript==
 // @name         ChatGPT heartbeat
 // @namespace   http://tampermonkey.net/
 // @version     0.1
 // @description try to take over the world!
 // @author       https://v2ex.com/t/926890
 // @match       https://chat.openai.com/chat/*
 // @icon         https://chat.openai.com/favicon.ico
 // @grant       none
 // ==/UserScript==
 ​
 (function () {
   var iframe = document.createElement("iframe");
   iframe.id = "heartbeat";
   iframe.style = "display:none";
   iframe.name = "heartbeat";
   iframe.src = "https://chat.openai.com/robots.txt";
   var fn = function () {
     setTimeout(function(){
         document.getElementById('heartbeat').contentWindow.location.reload(true);
    }, 5000);
  };
   if (iframe.attachEvent) {
     iframe.attachEvent("onload", fn);
  } else {
     iframe.onload = fn;
  }
   document.body.insertBefore(iframe, document.body.firstChild);
 })();
赞(0)
转载需标明出处Lee's Blog » 减少 ChatGPT 官方网页需要频繁刷新的简单办法

评论 抢沙发

登录

找回密码

注册