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

GM_download怎么下载自身请求的json

[复制链接]
  • TA的每日心情
    无聊
    2023-11-24 10:55
  • 签到天数: 61 天

    [LV.6]常住居民II

    14

    主题

    30

    回帖

    111

    积分

    中级工程师

    积分
    111
    发表于 2022-9-10 11:30:05 | 显示全部楼层 | 阅读模式
    悬赏1油猫币未解决

    本帖最后由 player 于 2022-9-10 11:31 编辑

    let link = document.createElement('a');
    link.download = 'config.json';
    link.href = 'data:text/plain,' + JSON.stringify(data);
    link.click();

    用GM_download能实现这种效果吗,有必要用GM_download吗

  • TA的每日心情
    慵懒
    7 小时前
  • 签到天数: 625 天

    [LV.9]以坛为家II

    30

    主题

    532

    回帖

    1400

    积分

    荣誉开发者

    积分
    1400

    荣誉开发者新人进步奖油中2周年生态建设者新人报道挑战者 lv2油中3周年喜迎中秋

    发表于 2022-9-10 11:39:45 | 显示全部楼层
    GM_download(URL.createObjectURL(new Blob([JSON.stringify(data)])), 'config.json')

    GM_download可以这么写
    GM_download主要优势是可以跨域,只需要下载同源的话具体看你喜好吧

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    633

    主题

    5173

    回帖

    6052

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6052

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

    发表于 2022-9-10 11:42:25 | 显示全部楼层
    楼上正解
    另外这种方式不太推荐
    可以考虑使用filesave的库
    之前写脚本根据实践click这种方式使用人群广了之后很容易出现点击不下载只弹出的问题
    原因不明
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

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

    [LV.1]初来乍到

    22

    主题

    861

    回帖

    1360

    积分

    荣誉开发者

    积分
    1360

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

    发表于 2022-9-10 12:21:43 | 显示全部楼层

    这样就行:

    GM_download('data:text/plain,' + JSON.stringify(data), 'config.txt');

    要下载为json格式,必须首先在油猴设置里将json格式加入下载白名单:
    download.png
    这样改成json后下载下来仍然会变成txt,原因是GM_download会根据文件mine类型自动修改后缀,改成这样即可:

    GM_download('data:application/json,' + JSON.stringify(data), 'config.json');

    GM_download这个API其实挺蛋疼的,除了自动改后缀,设置不同的下载模式也会有不同表现,如果脚本要发布给别人用,别人改过设置就有可能得不到预期结果。当然GM_download也有其优势,比如直接下载多个文件,原生方式很可能会被浏览器阻止。

    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-11-24 10:55
  • 签到天数: 61 天

    [LV.6]常住居民II

    14

    主题

    30

    回帖

    111

    积分

    中级工程师

    积分
    111
    发表于 2022-9-10 15:21:40 | 显示全部楼层
    cxxjackie 发表于 2022-9-10 12:21
    [md]这样就行:

    ```js

    脚本猫哪里设置啊,没找到
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-11-24 10:55
  • 签到天数: 61 天

    [LV.6]常住居民II

    14

    主题

    30

    回帖

    111

    积分

    中级工程师

    积分
    111
    发表于 2022-9-10 15:36:17 | 显示全部楼层

    cxxjackie 发表于 2022-9-10 12:21

    [md]这样就行:

    
    
    ![image.png](data/attachment/forum/202209/10/153352lqe0u0k55gw075hz.png)
    
    我试了一下,脚本猫不用设置两种方式都可以。而且plain不用改json效果也一样。
    回复

    使用道具 举报

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

    [LV.1]初来乍到

    22

    主题

    861

    回帖

    1360

    积分

    荣誉开发者

    积分
    1360

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

    发表于 2022-9-10 20:43:33 | 显示全部楼层
    player 发表于 2022-9-10 15:21
    脚本猫哪里设置啊,没找到

    tampermonkey的设置,脚本猫的实现逻辑不太一样。
    回复

    使用道具 举报

    发表回复

    本版积分规则

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