上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: 王一之 - 

[脚本猫开发指南]脚本猫基础概念介绍

[复制链接]
  • TA的每日心情
    开心
    2022-7-24 10:18
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    27

    主题

    100

    回帖

    235

    积分

    高级工程师

    积分
    235
    发表于 2021-8-31 23:11:11 | 显示全部楼层
    crontab表达式如果小白看不懂不会设置的话可以直接去https://www.matools.com/cron在线生成
    回复
    订阅

    使用道具 举报

  • TA的每日心情
    擦汗
    6 小时前
  • 签到天数: 710 天

    [LV.9]以坛为家II

    0

    主题

    43

    回帖

    355

    积分

    高级工程师

    积分
    355

    油中2周年

    发表于 2021-9-1 15:28:21 | 显示全部楼层
    本帖最后由 Lucky_M 于 2021-9-1 15:29 编辑

    一之大佬    牛逼
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 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以后还是会弹出跨域提示,应该是插件的权限问题,点了总是允许后,想改设置却找不到设置的地方了。
    已有1人评分好评 油猫币 理由
    王一之 + 1 + 2 感谢反馈,在下方回复了,这就去完善掉.

    查看全部评分 总评分:好评 +1  油猫币 +2 

    回复

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4189

    回帖

    4056

    积分

    管理员

    积分
    4056

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2021-9-2 13:51:43 | 显示全部楼层

    cxxjackie 发表于 2021-9-2 12:26[/color][/size]
    试着写了一下定时脚本,发现几个问题:
    1、定时脚本无法使用console.log,也不能debugger,只能通过GM_log ...[/quote]

    1.console.log/debugger是运行环境问题,这个可以在扩展页面,打开background.html去调试和查看console.log信息和调试脚本

    image.png

    2.GM_xhr这些兼容会逐步去推进,现在还没完全的兼容,现在的respond好像是会自动转换成json。

    不过现在是可以设置responseType可以看看哥哥的代码么?

    3.API的错误处理确实没做好,会尽量去完善吧,另外后台脚本是用的try去捕捉错误,如果是异步的话catch不到也会有问题,这个暂时不太好做到。

    4.connect的描述和域名是否对应,能不能看一下哥哥的表达式呢?改设置的话,暂时没开发完,在弄中

    谢谢哥哥提出的这些问题,这就去完善掉!

    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4189

    回帖

    4056

    积分

    管理员

    积分
    4056

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2021-9-2 18:42:02 | 显示全部楼层
    cxxjackie 发表于 2021-9-2 12:26
    试着写了一下定时脚本,发现几个问题:
    1、定时脚本无法使用console.log,也不能debugger,只能通过GM_log ...

    4点是个bug,找到修复了
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2021-9-2 18:48:52 | 显示全部楼层
    王一之 发表于 2021-9-2 13:51
    [md]> 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、上传了一个脚本,我改完以后的。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4189

    回帖

    4056

    积分

    管理员

    积分
    4056

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2021-9-2 21:40:17 | 显示全部楼层
    cxxjackie 发表于 2021-9-2 18:48
    1、从插件页调试这个...有点违反直觉吧。
    2、就是令responseType等于"text"或"json"后脚本会直接失去响应 ...

    1.好像是有点反直觉。。。只能去实际的执行环境运行,后续应该能迁移到脚本的编辑页面F12来进行调试

    2.这个好像也是bug,已经处理了。

    3.这个我再看看,如果能try到应该是可以处理的

    4.感谢哥哥!

    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4189

    回帖

    4056

    积分

    管理员

    积分
    4056

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2021-9-2 21:42:42 | 显示全部楼层
    cxxjackie 发表于 2021-9-2 18:48
    1、从插件页调试这个...有点违反直觉吧。
    2、就是令responseType等于"text"或"json"后脚本会直接失去响应 ...

    也是尽力想与油猴兼容,降低学习和迁移成本
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4189

    回帖

    4056

    积分

    管理员

    积分
    4056

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2021-9-2 21:49:40 | 显示全部楼层
    cxxjackie 发表于 2021-9-2 18:48
    1、从插件页调试这个...有点违反直觉吧。
    2、就是令responseType等于"text"或"json"后脚本会直接失去响应 ...

    测试了一下2

    油猴和脚本猫都是返回的text

    3BKDAD11LB]B{0H@FYSY_GT.png O7`U1$AELKX8O`V]3K71W2U.png
    1. // ==UserScript==
    2. // @name         New Userscript
    3. // @namespace    http://tampermonkey.net/
    4. // @version      0.1
    5. // @description  try to take over the world!
    6. // @author       You
    7. // @match        https://bbs.tampermonkey.net.cn/
    8. // @icon         https://www.google.com/s2/favicons?domain=tampermonkey.net.cn
    9. // @grant        GM_xmlhttpRequest
    10. // @grant        GM_notification
    11. // @connect      tieba.baidu.com
    12. // ==/UserScript==

    13. GM_xmlhttpRequest({
    14.             url: 'https://tieba.baidu.com/dc/common/tbs',
    15.             method: 'get',
    16.             timeout: 10000,
    17.             onload: res => console.log(res)
    18.         });
    复制代码


    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2021-9-2 22:02:14 | 显示全部楼层
    王一之 发表于 2021-9-2 21:49
    测试了一下2

    油猴和脚本猫都是返回的text

    我知道,我的意思是说这种情况可以设置responseType为json,这样就不用做JSON.parse了,但是脚本猫设置不了,所以我一开始被这个问题卡住了
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表