雯
发表于 2021-8-31 23:11:11
crontab表达式如果小白看不懂不会设置的话可以直接去https://www.matools.com/cron在线生成
Lucky_M
发表于 2021-9-1 15:28:21
本帖最后由 Lucky_M 于 2021-9-1 15:29 编辑
一之大佬 牛逼
cxxjackie
发表于 2021-9-2 12:26:05
试着写了一下定时脚本,发现几个问题:
1、定时脚本无法使用console.log,也不能debugger,只能通过GM_log去翻日志,调试体验不太好,特别是查看一些较长的对象时。
2、GM_xhr不支持将responseType设置为text、json等,只能自己做转换,这可能与一些油猴脚本发生兼容问题。
3、定时脚本中发生错误不会终止脚本的运行,也不输出任何错误信息,普通脚本中GM_xhr上的某些参数错误也会造成这个问题(比如responseType,我调试了很久才确定的问题)。油猴和原生的xhr在处理不支持的responseType时会选择忽略,不知道脚本猫是什么情况。
4、加了connect以后还是会弹出跨域提示,应该是插件的权限问题,点了总是允许后,想改设置却找不到设置的地方了。
王一之
发表于 2021-9-2 13:51:43
> cxxjackie 发表于 2021-9-2 12:26
> 试着写了一下定时脚本,发现几个问题:
> 1、定时脚本无法使用console.log,也不能debugger,只能通过GM_log ...
1.console.log/debugger是运行环境问题,这个可以在扩展页面,打开background.html去调试和查看console.log信息和调试脚本
!(data/attachment/forum/202109/02/134345onqlfdtcnn2vlfkl.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
2.GM_xhr这些兼容会逐步去推进,现在还没完全的兼容,现在的respond好像是会自动转换成json。
不过现在是可以设置`responseType`可以看看哥哥的代码么?
3.API的错误处理确实没做好,会尽量去完善吧,另外后台脚本是用的try去捕捉错误,如果是异步的话catch不到也会有问题,这个暂时不太好做到。
4.connect的描述和域名是否对应,能不能看一下哥哥的表达式呢?改设置的话,暂时没开发完,在弄中
谢谢哥哥提出的这些问题,这就去完善掉!
王一之
发表于 2021-9-2 18:42:02
cxxjackie 发表于 2021-9-2 12:26
试着写了一下定时脚本,发现几个问题:
1、定时脚本无法使用console.log,也不能debugger,只能通过GM_log ...
4点是个bug,找到修复了
cxxjackie
发表于 2021-9-2 18:48:52
王一之 发表于 2021-9-2 13:51
> cxxjackie 发表于 2021-9-2 12:26
> 试着写了一下定时脚本,发现几个问题:
> 1、定时脚本无法使用co ...
1、从插件页调试这个...有点违反直觉吧。
2、就是令responseType等于"text"或"json"后脚本会直接失去响应,有些链接返回的默认是文本实际是json,比如这个https://tieba.baidu.com/dc/common/tbs。
3、不止是异步,在Promise之外随便写个未声明的变量也会造成无响应,我自己用try包起来就能捕获到,所以感觉很奇怪。
4、上传了一个脚本,我改完以后的。
王一之
发表于 2021-9-2 21:40:17
cxxjackie 发表于 2021-9-2 18:48
1、从插件页调试这个...有点违反直觉吧。
2、就是令responseType等于"text"或"json"后脚本会直接失去响应 ...
1.好像是有点反直觉。。。只能去实际的执行环境运行,后续应该能迁移到脚本的编辑页面F12来进行调试
2.这个好像也是bug,已经处理了。
3.这个我再看看,如果能try到应该是可以处理的
4.感谢哥哥!
王一之
发表于 2021-9-2 21:42:42
cxxjackie 发表于 2021-9-2 18:48
1、从插件页调试这个...有点违反直觉吧。
2、就是令responseType等于"text"或"json"后脚本会直接失去响应 ...
也是尽力想与油猴兼容,降低学习和迁移成本
王一之
发表于 2021-9-2 21:49:40
cxxjackie 发表于 2021-9-2 18:48
1、从插件页调试这个...有点违反直觉吧。
2、就是令responseType等于"text"或"json"后脚本会直接失去响应 ...
测试了一下2
油猴和脚本猫都是返回的text
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @descriptiontry to take over the world!
// @author You
// @match https://bbs.tampermonkey.net.cn/
// @icon https://www.google.com/s2/favicons?domain=tampermonkey.net.cn
// @grant GM_xmlhttpRequest
// @grant GM_notification
// @connect tieba.baidu.com
// ==/UserScript==
GM_xmlhttpRequest({
url: 'https://tieba.baidu.com/dc/common/tbs',
method: 'get',
timeout: 10000,
onload: res => console.log(res)
});
cxxjackie
发表于 2021-9-2 22:02:14
王一之 发表于 2021-9-2 21:49
测试了一下2
油猴和脚本猫都是返回的text
我知道,我的意思是说这种情况可以设置responseType为json,这样就不用做JSON.parse了,但是脚本猫设置不了,所以我一开始被这个问题卡住了