xChar
·a year ago

image

起因

使用obsidian已经蛮长时间了,今天刷twitter的时候,有人推荐了一个chrome拓展,https://chrome.google.com/webstore/detail/obsidian-web/edoacekkjanmingkbkgjndndibhkegad, 可以配合obsidian的api插件使用。

然后我在配置妥当之后,一直遇到一个神奇错误。

Could not connect to Obsidian! Make sure Obsidian is running and that the Obsidian Local REST API plugin is enabled.

image

而在插件配置里,已经是一个可爱的绿色小盾牌了。

image

于是有了在页面里,(目标页面里),devtool查看。发现神奇错误

Cross-Origin Resource Sharing error: PreflightMissingAllowPrivateNetwork

search

直接查询,不太能说是无果,只能说不太有果。

https://chromedevtools.github.io/devtools-protocol/tot/Network/#:~:text=PreflightMissingAllowPrivateNetwork
devtool的错误码并未详细解释;

https://developer.chrome.com/blog/private-network-access-update/
一篇无限delay的博文

image

配合gpt的回答结果

image

猜测这是一个实验中的特性。

背锅

于是联想到最近一直在日小米的温湿度计2,https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html , repo https://github.com/pvvx/ATC_MiThermometer , 明确有提到 #enable-experimental-web-platform-features 这个flag,于是关闭。

解决。

所以这玩意,不是experimental, 是delayed features 。

写在后边

这个问题的原因,其实是多样的。

首先,是多年来,chrome积攒的新feature,存留的有争议的feature,各种break change,已经堆积如山。特别是在当前的经济环境下,engineer流动加剧,Google很难有余力在继续给马桶冲水。所以也正如很多人的悲观观点,处于屎山风口浪尖里的chrome正在成为下一个IE。

其次,obsidian web插件的js实例,是通过directly inject到目标的webpage中的。既不是userscript类技术的高权限脚本,也不是chrome插件原生的权限,有点土法匠心的味道了。

Loading comments...