王一之 发表于 2021-10-9 10:50:32

想优化油猴API声明,哥哥们有没有啥好想法

油猴的诞生太老了,浏览器前端技术快速发展,Promise/async/await同步技术,而油猴管理器还是用着那老一套的异步API,而且参数十分混论,想写一个三方库,能够让脚本@require,优化编写流程

每次写都要写一大长串,例如ajax请求:

```javascript
GM_xmlhttpRequest({
method: 'GET',
url: 'https://api.bilibili.com/x/web-interface/nav',
onload: function (xhr) {
    // ...
}
});
```

不说写起来很不方便,看起来也很不舒服,如果修改为同步的则会好很多,另外想对此参数进行优化封装,封装成axios的形式。

```javascript
try {
    let resp = await gm.ajax("url", {
      method: "get",
      data: "",
    });
    let resp = await gm.get("url", {
      header: {
            xxx: xxx
      }
    });
} catch (e) {
    // 错误处理
}
console.log(resp.response,resp.headers);
```

另外通知的api想封装成这样

```javascript
// resp一个对象
let resp=gm.notification("标题","内容",{
    image:'xxx',

})
// 更新
resp.update('xxx','xxx',{
    image:'xxx'
});
// 关闭
resp.close();
```

使用`@require`来使用,`@definition`来自动提示,方便兼容不同的油猴管理器,也不破坏原来的方法。

不过也不知道这是不是一个伪需求。。。。毕竟油猴的这一套都不知道用了多久了。。。。

maxzhang 发表于 2021-10-9 10:52:43

我觉得行

李恒道 发表于 2021-10-9 10:57:34

如果require是局域网的话可以无缓存

Ne-21 发表于 2021-10-9 11:18:44

封装成axios的形式,行!

cxxjackie 发表于 2021-10-9 12:23:27

反正我写GM_xhr都是自己动手封装的,原来的实在太丑陋。

脚本体验师001 发表于 2021-10-9 13:13:23

这将是革命性的和里程碑性的进步,这将制定国内脚本编写第一个规范。
脚本编写应遵循极简风格,适应多种环境,规范化,流水化,可维护性等特性
这取决于大佬们的思想高度,请大佬们立刻着手编写和制定
武统台湾,势在必行

王一之 发表于 2021-10-9 14:39:15

脚本体验师001 发表于 2021-10-9 13:13
这将是革命性的和里程碑性的进步,这将制定国内脚本编写第一个规范。
脚本编写应遵循极简风格,适应多种环 ...

不至于,发出来主要想和大佬们讨论怎么设计这个api。

后面应该还会搞脚手架

zqdlly 发表于 2023-8-16 23:30:39

https://www.greasespot.net/2017/09/greasemonkey-4-for-script-authors.html
不知这篇文章有没有参考的价值..

王一之 发表于 2023-8-17 01:02:27

zqdlly 发表于 2023-8-16 23:30
https://www.greasespot.net/2017/09/greasemonkey-4-for-script-authors.html
不知这篇文章有没有参考的价 ...

有!不过这件事情已经没咋干了
页: [1]
查看完整版本: 想优化油猴API声明,哥哥们有没有啥好想法