Skip to content

更完整的permission检查,更好的userScript权限提示#1251

Open
cyfung1031 wants to merge 1 commit intoscriptscat:release/v1.3from
cyfung1031:pr-permission-check-and-better-page
Open

更完整的permission检查,更好的userScript权限提示#1251
cyfung1031 wants to merge 1 commit intoscriptscat:release/v1.3from
cyfung1031:pr-permission-check-and-better-page

Conversation

@cyfung1031
Copy link
Collaborator

  • BrowserType的写法改了。那些ChormeA ChromeB ChromeC ... 不是做这个的原意。我们直接用 bitFlag写清楚用途就可以。还有是由低版本至高版本。
  • Permission Check. 如果直接检查不存在于 optional 的 permission, Firefox会直接报错。所以就引入 isPermissionOK 出了解这个 permission 是不是 ok. 如果是 false 的话,可以进行要求。报错就是 null
  • 现在有个首次警告弹出的设计。但没考虑到浏览器升级会改specification. 例如最近的Edge升级。未来也可能会再二度三度改变。当版本升级时,也要当是首次
  • 因为BrowserType有足够的资讯,也知道是devModeOpen还是allowScript,SC可以直接打开更直接的引导画面。

@cyfung1031 cyfung1031 force-pushed the pr-permission-check-and-better-page branch from 8736b73 to cdfb48f Compare February 15, 2026 03:54
@CodFrm
Copy link
Member

CodFrm commented Feb 15, 2026

之前做这里的时候,我本来想重构的,但是一般是不喜欢做很大的改动,改好了又撤回了

这种位的操作阅读性也不好,本来是修改成 getBrowserType 只获取浏览器的信息,通过另外的函数去判断类型

既然又提到这里了,我晚点按我的想法重构一下,你再看看

@cyfung1031
Copy link
Collaborator Author

之前做这里的时候,我本来想重构的,但是一般是不喜欢做很大的改动,改好了又撤回了

这种位的操作阅读性也不好,本来是修改成 getBrowserType 只获取浏览器的信息,通过另外的函数去判断类型

既然又提到这里了,我晚点按我的想法重构一下,你再看看

用位操作主要是方便一个物件储存大量 true/false 讯息啦
不然你每个都要开一个新的栏
现在一个栏 chrome 就可以储存 是不是Edge,是不是DevelopMode,是不是AllowScript
这是用 bit 的好处。在TypeScript你可以写得很好看。到电脑代码时变成 010101010 ,它也好处理
不然你一堆栏名, rspack 又压不了,储存读取又麻烦,写法又长。

尝试接受吧
不接受你就改吧。反正不是什么 hot path

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants