如何在 tampermonkey 中捕获状态 503

2023-11-30

我有一个每秒刷新页面的用户脚本,但有时它尝试刷新的网站会遇到状态 503 错误,这会阻止脚本再运行。这意味着脚本将不再尝试每秒刷新页面。页面出现状态 503 错误后如何保持脚本运行?该错误在控制台中如下所示:

加载资源失败:服务器响应状态为 503(服务不可用)

// ==UserScript==
// @name        script
// @namespace   name
// @description example
// @match       *^https://example.com/$*
// @version     1
// @require     https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @grant       GM_xmlhttpRequest
// @run-at document-end
// ==/UserScript==

//*****************************************START OF SET_TIMEOUT
var timeOne = 1000;
var theTime = timeOne;

var timeout = setTimeout("location.reload(true);", theTime);
function resetTimeout() {
clearTimeout(timeout);
timeout = setTimeout("location.reload(true);", theTime);
} //end of function resetTimeout()
//*****************************************END OF SET_TIMEOUT

用户脚本在页面加载时运行,如果页面根本没有加载除 200 之外的任何状态代码,它们将不会运行。您可以使用<iframe>正如@Hemanth建议的,但你必须打破无限循环<iframe>还将加载用户脚本等。要打破它,只需检查用户脚本是否加载到顶部窗口即可。

if (window == window.top) {
    // Remove everything from the page
    // Add an iframe with current page URL as it's source
    // Add an event to reload the iframe few seconds after it is loaded
}

完整代码:

(function ($) {
  'use strict';
  var interval = 5000;
  if (window == window.top) {
    var body = $('body').empty();
    var myframe = $('<iframe>')
      .attr({ src: location.href })
      .css({ height: '95vh', width: '100%' })
      .appendTo(body)
      .on('load', function () {
        setTimeout(function () {
          myframe.attr({ src: location.href });
        }, interval);
      });
  }
})(jQuery);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 tampermonkey 中捕获状态 503 的相关文章

  • 使用本地存储在从另一个表保存的 HTML TABLE 中打印 JSON,以便我在另一个页面上打印我的表

    在我的作业中 我必须使用用户输入中的数据并将数据保存在本地存储中 我必须以水平表格式将这些数据从本地存储打印到其他页面 为此 我编写了用于用户输入并将数据保存在本地存储中的代码 div p p div
  • jQuery .push 到 .get 调用中的数组给出空结果

    谁能告诉我为什么下面给我一个空字符串 当我console log contentArray in the get 回调函数它显示数据 但是当我尝试在下面的代码中执行它时 结果为空 sectionArray contentArray func
  • 在版本 4.4.6 中禁用 ckeditor 上下文菜单

    我在 Rails4 项目中使用 ckeditor 我尝试了 ckeditor gem 和 ckeditor rails gem 来提供 ckeditor 库 这里有多个帖子 人们希望删除 ckeditor 上下文菜单 以便可以显示本机浏览器
  • Number.IsNaN() 比 isNaN() 更糟糕吗

    Soooooo isNaNJavaScript 显然被破坏了 比如 isNaN isNaN isNaN true isNaN false isNaN 0 返回 false 当它们看起来都是 不是数字 在 ECMAScript 6 中 草案包
  • 想要动态处理与分页相关的页码显示:ReactJS

    我有一些分页逻辑工作得很好 唯一的问题是我只能让它显示并固定数量的页面可供选择 现在我已经把它放到了 5 页 但我希望它能够根据总记录动态更改 假设我有 100 条记录 每页限制为 10 条 将有 10 页 现在我只能让它以这种方式显示 第
  • 如何在网站上使用 svg 元素制作块的屏幕截图?

    我在网站上创建了一个构造函数 其本质是将所选元素及其颜色 svg中的元素 添加到访问者选择的背景和背景颜色 png中的背景 中 然后必须单击 保存 结果 按钮并仅执行工作区的屏幕截图 我写了这个脚本 但它需要屏幕截图 但只有背景 并忽略选定
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • React Router v4 不渲染组件

    React Router v4 渲染组件存在问题 在应用程序初始加载时 它将呈现与 URL 相对应的正确组件 但是 任何后续的组件Link单击不会呈现所需的组件 图书馆 反应路由器 4 2 2 https reacttraining com
  • IE 中的 XPath 查询使用从零开始的索引,但 W3C 规范是从一开始的。我应该如何处理差异?

    问题 我正在转换目前仅适用于 Internet Explorer 的相对较大的 Javascript 代码 以便使其也适用于其他浏览器 由于代码广泛使用 XPath 我们做了一些兼容性功能以使事情变得更容易 function selectN
  • 如何在另一个自定义 Hook 中使用返回值的自定义 Hook?

    我正在使用 React native 其中有一个名为的自定义 HookuseUser使用以下方法从 AWS Amplify 获取用户信息Auth getUserInfro方法 然后获取返回对象的一部分并用它设置一个状态变量 我还有另一个名为
  • mongodb 聚合 - 累积字段的不同组值

    如果我有Player表格文件 name String score Int 我有Group文档 其中组代表玩家列表 groupName String players ObjectID 玩家可以属于多个组 我想做一个聚合Player文档 按以下
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • JavaScript eval("{}") 返回行为?

    根据ECMA 262 规范 http www ecma international org publications files ECMA ST Ecma 262 pdf 以下语句返回1 eval 1 eval 1 eval 1 var a
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对茉莉花有经验并且非常喜欢它 有谁有 Jasmine 和 Mocha 的经验 特别是 Rails 的经验吗 我想知道是否值得转用 我已经在 J
  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo
  • 使用velocity.js制作可拖动元素的动画

    我正在使用velocity js 为用户拖动的可拖动 SVG 元素设置动画 然而 velocity js 将先前的 mousemove 坐标排队并通过所有后续的 mousemove 坐标进行动画处理 我想要的是velocity js 不要对

随机推荐

  • NoSuchWindowError:浏览上下文已被 GeckoDriver Firefox 和 Protractor(Selenium) 丢弃

    我正在尝试使用量角器运行一个简单的测试脚本 环境 Node Version v9 8 0 Protractor Version 5 4 1 Angular Version 1 x Browser s Mozilla Firefox 60 1
  • \npm\node_modules\vs-mda\vs-cli 未被识别为内部或外部命令

    安装了混合应用 CTP 下载了 Backbone 示例 将我的构建设置为 Windows Phone 和模拟器 720 P 并尝试构建 我收到此错误 1 gt Build started Project BackboneTodo Confi
  • 获取每个值的分位数

    R 中是否有一个实现的 函数可以为您提供每个值的经验分位数 我找不到任何 假设我们有 x x c 1 3 4 2 我想要每个元素的分位数 1 0 25 0 75 1 0 5 您可以使用ecdf 功能 ecdf x x 1 0 25 0 75
  • 直线与曲线之间的面积(无功能)

    我想计算橙色线和蓝色线之间的面积 我设法遮蔽了该区域 但我不知道如何应用trapz函数来获取面积 在这篇文章中 两条曲线之间的曲面下面积我得到了一些解决方案 但我没有曲线的具体方程 只是图本身 橙色线的代码是 x 1 0 M1 1 y 1
  • SmartGWT RestDataSource

    我正在使用 SmartGWT SmartClient LGPL 由于项目关系 我无法使用 Pro 我想从 jdbc 连接创建一个 RestDataSource 以便从服务器公开给 SmartGWT 客户端 怎么可能呢 任何帮助是极大的赞赏
  • SSDT、SSDT-BI 不同 SQL 版本的向后兼容性混乱

    在谷歌上广泛搜索不同 SQL Server 版本的 SSDT 和 SSDT BI 后 我希望有人能够找出差异并澄清我混乱的想法 Aim To upgradeSSIS 包从 sql server 2012 到 sql server 2014
  • GLCM 结果中的黑线

    这是GLCM矩阵的结果 GLCM图像中的黑色水平线和垂直线是什么意思 他们有问题吗 N numel unique img img is uint8 glcm graycomatrix img NumLevels N imshow glcm
  • 自定义 Jasper 报告甘特图上的日期

    在我的报告的甘特图中 我有 1 年的数据 我只对查看甘特图顶部打印的月份感兴趣 一月至十二月 但是 该图表当前显示月份和年份 我如何自定义图表以仅输出月份 我不确定贾斯珀报告 but createGanttChart uses a Date
  • Java 机器人 Azerty 与 Qwerty

    我希望这不是重复的 但我已经浏览了论坛 但尚未找到任何答案 我的 java 应用程序使用 Robot 类输入文本时遇到问题 提供文本并由应用程序将其打印出来 当用户使用 QWERTY 键盘时 一切正常 当用户使用 AZERTY 键盘时 值将
  • MVC 和 Razor 中 Html.TextboxFor 和 Html.EditorFor 的区别

    为什么在添加新的 编辑 视图时默认情况下这些会发生变化 使用时有什么优势EditorFor vs TextboxFor 我找到了这个 默认情况下 创建和编辑支架现在使用 Html EditorFor 帮助器而不是 Html TextBoxF
  • 每 1 秒调用一次函数(精确地)

    我正在用 C 编写一个简单的游戏模拟程序 有一个名为 update 的函数可以更新游戏的当前状态 必须每 1 秒精确调用一次 如果我使用这样的循环 while some condition update Sleep 1000 那么该函数就不
  • 我们如何使用 Python 去除字符串开头的标点符号?

    我想使用 Python 去除字符串开头的各种标点符号 我的list包含字符串 其中一些以某种标点符号开头 如何从字符串中删除所有类型的标点符号 例如 如果我的话是这样的 gets 我想脱 从这个词来看 我想要gets作为结果 另外我也想脱掉
  • 创建旋转表面

    我有一个磁盘的 3D 图 代码如下 ri 100 ra 300 h 20 input xy coordinates xy np array ri 0 ra 0 ra h ri h ri 0 radial component is x val
  • 运行 React Native 入门项目时发生 TransformError (iOS)

    我在运行 React Native Getting Started 项目时遇到问题 我遵循了这个指南 https facebook github io react native docs getting started html 当我尝试从
  • Groovy - 将一个对象的属性绑定到另一个对象

    有没有一种方法可以将一个类的一个实例的属性绑定到另一个类的实例的属性 两者之间的公共字段 请参阅下面的示例 class One String foo String bar class Two String foo String bar St
  • 是否可以为Android相机预览提供类似顶点着色器和片段着色器的效果,并使用OpenGLES保存捕获的图像?

    这两个是我的VertexShader和Fragment Shader文件 顶点着色器文件 attribute vec4 position attribute vec4 inputTextureCoordinate varying vec2
  • 如何从子类调用基类的 __init__ 方法? [复制]

    这个问题在这里已经有答案了 如果我有一个 python 类 class BaseClass object code and the init function of the base class 然后我定义一个子类 例如 class Chi
  • MySQL 排列

    我有两张桌子 一个有产品 另一个有与之配套的捆绑包 我需要弄清楚 SQL 它可以让我找到可以销售带有附加产品的产品的所有组合 Products Name ID Bench 1 Extra Name ID Parent ID QTY unde
  • 检查可变参数模板中没有重复类型的 C++ 概念

    我试图弄清楚如何编写一个概念来检查可变参数模板中没有重复的类型 我知道我不能在其内部递归地调用一个概念 但如果可以的话 我的解决方案将如下所示 忽略缺乏停止条件 include
  • 如何在 tampermonkey 中捕获状态 503

    我有一个每秒刷新页面的用户脚本 但有时它尝试刷新的网站会遇到状态 503 错误 这会阻止脚本再运行 这意味着脚本将不再尝试每秒刷新页面 页面出现状态 503 错误后如何保持脚本运行 该错误在控制台中如下所示 加载资源失败 服务器响应状态为