inpageedit / inpageedit-v2

A powerful frontend JavaScript Plugin for MediaWiki written with jQuery
https://www.ipe.wiki
GNU General Public License v3.0
47 stars 13 forks source link

[SUGGEST] 添加Api-User-Agent标头 #132

Closed AnYiEE closed 3 years ago

AnYiEE commented 3 years ago

希望可以在Wikimedia旗下的项目中(可选,MediaWiki/大多数网站会忽略未定义的标头)进行请求API操作前添加此标头(于defaultOptions.jsonGet对象)。

示例于此,这样可以方便后端区分和统计,更多信息请见于此

dragon-fish commented 3 years ago

感谢提议,在下一个 minor 版本更新时,应该会重构 ajax 请求的方式,届时应该会新增自定义 ajaxConfig 的选项允许用户自定请求标头等内容

AnYiEE commented 3 years ago

用户自定请求

不应该让用户自定义,这标头是为了标识此脚本,应该避免被外部重写。如:https://github.com/Wikiplus/Wikiplus/pull/84/commits/a67967cf39e9a8d955b2e91bb1ee8b6a72b907fe

dragon-fish commented 3 years ago

因为 inpageedit-v2 重度依赖 jQuery,导致 ajax 方面的操作 hack 起来比较麻烦,因此将这个问题推迟到 inpageedit-next 重构的时候解决

AnYiEE commented 3 years ago

因为 inpageedit-v2 重度依赖 jQuery,导致 ajax 方面的操作 hack 起来比较麻烦,因此将这个问题推迟到 inpageedit-next 重构的时候解决

@Dragon-Fish 纯jQuery:https://zh.wikipedia.org/wiki/Special:Diff/65396801 ,mw.Api:https://zh.wikipedia.org/wiki/Special:Diff/65768231

dragon-fish commented 3 years ago

我这里的屎山代码,实例都是用一次构造一次,巨 tm 阴间,我不想在老代码里修复了(

AnYiEE commented 3 years ago

可以 const api = new mw.Api({ ajax: { headers: { 'Api-User-Agent': '' } } }); 的www,祝您开发愉快。

dragon-fish commented 3 years ago

谢谢您,我知道可以这样,但三年前的我不是这么想的(草