-
解决手机伺服时无法直接打开外部链接
2024-12-23 14:26为避免引用文章的原文失效,我将其全文复印到此处。
取消新版 Edge/Chrome 打开外部应用时每次的提示
作者:mmaple7 发布时间:2024-01-14
使用新版 Edge 或 Chrome 调用外部应用时每次都会出现要打开 xxx PROTOCOL 吗的提示。除了取消提示之外,可以通过编辑注册表来自定义默认的打开方式。此外,可以使用策略组来管理浏览器的行为,包括控制外部应用程序的自动启动和协议的处理方式。
文章参考
Microsoft Edge 浏览器策略文档 | Microsoft Learn
Microsoft Edge 浏览器支持的所有策略的 Windows 和 Mac 文档涉及其中的策略:
79-84 版本:
ExternalProtocolDialogShowAlwaysOpenCheckbox 在外部协议对话框中显示“始终打开”复选框85 版本及后续版本
AutoLaunchProtocolsFromOrigins 定义可以从列出的源启动外部应用程序而不提示用户的协议列表其他相关项
AutoLaunchProtocolsComponentEnabled 已启用自动启动协议组件(方式二的问题 1)方式一:使用注册表配置策略
可以参考下面步骤,在注册表中的策略组中设置始终使用关联应用打开相关链接.
- 先关闭所有 Edge 或 Chrome 浏览器
- 新建一个文本文件,输入或粘贴下面内容,完成后保存并退出
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] "ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge] "ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] "AutoLaunchProtocolsFromOrigins"="[{\"allowed_origins\": [\"*\"], \"protocol\": \"msoutlook\"}]" [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge] "AutoLaunchProtocolsFromOrigins"="[{\"allowed_origins\": [\"*\"], \"protocol\": \"msoutlook\"}]"
- 将文件名修改为 cancelPromptOpenExternalApp.reg,双击运行。
说明:
- Chromium 79 ~ Chromium 84 版本可以通过复选框(ExternalProtocolDialogShowAlwaysOpenCheckbox)控制是否显示提示的弹窗。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] "ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge] "ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001
- Chromium 85 版及以后可以通过 AutoLaunchProtocolsFromOrigins 以 json 的方式更细粒度地控制协议(protocol)及该协议允许自启动的源[IP:port、域名](allowed_origins),参考
Microsoft Edge 浏览器策略文档 | Microsoft Learn
Microsoft Edge 浏览器支持的所有策略的 Windows 和 Mac 文档
其中部分内容如下
方式二:使用配置文件
Edge 打开外部应用时的提醒,可以通过“自动启动协议组件(AutoLaunchProtocolsComponent)”相关的配置文件进行控制。
文件路径为
%userprofile%\AppData\Local\Microsoft\Edge\User Data\AutoLaunchProtocolsComponent\组件版本\protocols.json
在 Edge 浏览器地址栏输入
edge://components/
,可以查看组件的列表,可以找到 Edge AutoLaunch Protocols 组件的版本。作者的 Edge 对应组件版本如下:
因此,作者的 AutoLaunchProtocolsComponent 组件配置的路径为
C:\Users\admin\AppData\Local\Microsoft\Edge\User Data\AutoLaunchProtocolsComponent\1.0.0.8\protocols.json
在文件中的
"allow" : [
后追加{ "origins":["*"], "protocol":"协议名" },
若想要只在某网站下去除提醒,将
*
替换为网站链接。问题一
如果该方式不生效,在注册表中查看 AutoLaunchProtocolsComponentEnabled 是否手动设置为不启动。参考
Microsoft Edge 浏览器策略文档 | Microsoft Learn
Microsoft Edge 浏览器支持的所有策略的 Windows 和 Mac 文档
部分内容如下:
-
求助思源插入视频
2024-12-03 12:51还有一点,刚刚想起了。对于本地保存的视频,要压缩保存,压缩到你觉得合适的画质就行。我喜欢用 utools 来压缩视频,当然你也可以找找别的你觉得顺手的工具。
-
关于发布服务以笔记本为单位进行权限控制的前端设计探讨
2024-12-02 12:39还有一个不成熟的想法。就是在分享链接时,可能面对不同的群体,需要展示不同的内容。这时候,就需要用多个端口来控制内容的展示。可以这样,假设有 n 个笔记本,m 类读者群体,那就设 m 个端口,笔记本与端口之间是 n 对 m 的映射关系。也就是说某个笔记本可以指定 0 个、1 个或多个端口,相应地,某个端口也可以对应 1 个或多个笔记本。若给笔记本指定了至少 1 个端口,则将其视为公开笔记本,否则视为私密笔记本。
-
节约 quicker 空间,一键打开 siyuan 伺服页面 2.0(自动更新 hosts)
2024-12-02 00:53对比一下 2 种手机伺服思源启动方案。
第一种是我的,基于 python 脚本。优点是可以更新电脑的 hosts 文件,这样方便剪藏插件调用接口;以及完全离线使用,无需连外网。缺点是只适用于固定网络环境,且只适用于 win 端: 节约 quicker 空间,一键打开 siyuan 伺服页面 2.0(自动更新 hosts)
第二种是 wilsons 大佬的基于 easy mock 的方案。优点是无需提前部署,在任意陌生电脑、陌生 wifi 上都能用;而且不止 win 平台,平板、mac、linux 都能用。缺点:需要连外网,非离线方案;剪藏不方便,还是要手动改 ip: 手机伺服党的福利,一键访问手机伺服
-
关于发布服务以笔记本为单位进行权限控制的前端设计探讨
2024-12-01 11:11如果要实现用鼠标拖动的方式来更改公开权限,可以考虑后端这样设计:
将分割线看做一个虚拟笔记本,序号大于分隔线的,视作私密笔记本。