油猴的诞生太老了,浏览器前端技术快速发展,Promise/async/await同步技术,而油猴管理器还是用着那老一套的异步API,而且参数十分混论,想写一个三方库,能够让脚本@require,优化编写流程
每次写都要写一大长串,例如ajax请求:
GM_xmlhttpRequest({
method: 'GET',
url: 'https://api.bilibili.com/x/web-interface/nav',
onload: function (xhr) {
// ...
}
});
不说写起来很不方便,看起来也很不舒服,如果修改为同步的则会好很多,另外想对此参数进行优化封装,封装成axios的形式。
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想封装成这样
// resp一个对象
let resp=gm.notification("标题","内容",{
image:'xxx',
})
// 更新
resp.update('xxx','xxx',{
image:'xxx'
});
// 关闭
resp.close();
使用@require
来使用,@definition
来自动提示,方便兼容不同的油猴管理器,也不破坏原来的方法。
不过也不知道这是不是一个伪需求。。。。毕竟油猴的这一套都不知道用了多久了。。。。