油猴如何根据console上的错误信息,运行某方法
各位大佬,我在写油猴脚本时,偶尔会出现由于服务器卡顿导致爆出错误,脚本卡住不往下执行的情况。故我打算根据常出现的error信息进行进一步处理。但无论我用unsafeWindow.listener还是window.listener,都无法触发控制台我模拟扔出的error。这是为什么?以下是脚本信息。```
// ==UserScript==
// @name 错误捕获脚本
// @namespace http://tampermonkey.net/
// @version 1.0
// @description当错误信息包含“mute”时,输出“test success”
// @author 你
// @match *://*/*
// @grant unsafeWindow
// ==/UserScript==
(function() {
'use strict';
// 添加错误监听器到 unsafeWindow
unsafeWindow.addEventListener('error', function(event) {
// 检查错误信息是否包含“mute”
if (event.message && event.message.includes('404')) {
// 如果包含,则在控制台输出信息
console.log('test success');
}
});
})();
```
我试过用在控制台用如下代码扔出错误。
```
fetch('https://example.com/nonexistent-resource')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.catch(error => {
console.error('404', error);
});
```
还试过在控制台输入
```
// 在控制台中抛出一个错误
throw new Error('404');
```
控制台都没有反应,下断点也不运行listener内的内容。为什么呢??总感觉某个点没注意到。 控制台无法触发是因为环境不同,控制台抛出的错误印象里不会在网页的callback触发
哥哥前边那一个问题像是异步触发错误无法接收到导致的感觉
但是我对这方面没研究帮不到哥哥.... 李恒道 发表于 2024-10-19 11:26
控制台无法触发是因为环境不同,控制台抛出的错误印象里不会在网页的callback触发
哥哥前边那一个问题像是 ...
那我想实现控制台错误用油猴脚本处理,如何实现呢? repisal 发表于 2024-10-19 13:49
那我想实现控制台错误用油猴脚本处理,如何实现呢?
理论上来说感觉没办法
除非tryCatch包裹一下然后由油猴进行回调 李恒道 发表于 2024-10-19 11:26
控制台无法触发是因为环境不同,控制台抛出的错误印象里不会在网页的callback触发
哥哥前边那一个问题像是 ...
他自己的网页有问题。不开脚本的情况下,都能报错。报几个404 resource的错误,某一个错误之后网页就直接卡住不能动了。 repisal 发表于 2024-10-20 03:54
他自己的网页有问题。不开脚本的情况下,都能报错。报几个404 resource的错误,某一个错误之后网页就直接 ...
我明天想一下哥哥
今天有点事
页:
[1]