我们自己做的网站,有一个功能,就是点击一个页面上的一个按钮,能够打开本地的一个应用。(其实,zoom 也有类似的,点击页面上一个按钮,打开本地的 zoom app )
现在在 chrome & edge 都没有问题,但是 safari 有问题,
[blocked] The page at https://<our-web-site> was not allowed to run insecure content from ws://127.0.0.1:12345/.
我们本地应用,是监听 12345 的端口,能够和 website 通讯。
google 了一下,其实和这个问题有点像,https://stackoverflow.com/questions/39076180/https-page-was-not-allowed-to-run-insecure-content-from-safari-extension-uri
但是很遗憾,最新版的 safari 没有找到哪里有类似的设置 unblock 。
我试着打开 safari 的 develop 菜单,然后把所有的这些都勾选上了。还是不能工作。
所以,来请教一下,是我哪里理解错了,或者有没有什么 workaround ,方法等等。谢谢!
macOS: 12.3.1 safari: Version 15.4 (17613.1.17.1.13)
1
GeekJason 2022-07-28 10:40:44 +08:00
https 页面内不能使用 ws 协议,改用 wss 即可
|
3
GeekJason 2022-07-28 14:09:09 +08:00
Safari -> Develop -> Experimental Features -> NSURLSession WebSocket
取消勾选 |
5
neiltroyer849 2022-08-04 01:58:54 +08:00 via iPhone
这个是不是苹果要给 entitlement 或者苹果添加例外才可以? op 可以搜一下 teams 在 Safari 上无法唤醒本地客户端的 bug ,感觉是一样的问题但最后是被苹果自己更新 Safari 版本修好的
|
6
neiltroyer849 2022-08-04 01:59:54 +08:00 via iPhone
或者试着更新一下 Safari 版本 or 用 TP 版看看
|
7
yazoox OP @neiltroyer849 Version 15.4 (17613.1.17.1.13) safari ,这个应该最新了吧
另, 什么是 TP 版本? 确实找到一个帖子,不过,teams 的问题,和我碰到的不一样。解决方法也不一样。我也试过了,不工作尼...... thx a lot. |
8
yazoox OP |
9
neiltroyer849 2022-08-04 21:06:06 +08:00 via iPhone
@neiltroyer849 就是技术预览版( Safari technology preview ),类似于 chrome 的 beta/dev 通道修 bug 要快点。但我后来又仔细查了下,https 引 localhost 似乎是 webkit 的一个陈年老 bug/政策。比如这里的讨论: https://github.com/btcpayserver/BTCPayServer.Vault/issues/9 。WebKit Bugzilla 上已经有 5 年的时间在争论苹果的这个 bug ,到最后变成了 WebKit/Safari 的一个政策,就是他们把 https 引 http local host 当成是 mixed content 予以禁止,但是却允许 http 引用 http localhost 。( https://bugs.webkit.org/show_bug.cgi?id=171934 )这其实是不符合 The Secure Context spec 的,不管是事后洗地还是什么,但 Safari 上就这样最终决定了。也许这只是千千万万 WebKit 和苹果 Safari 的烂到天坑的臭虫们中被淹没的一个吧。
|
10
neiltroyer849 2022-08-04 21:06:55 +08:00 via iPhone
@yazoox 好像上一楼回复错了回复给了我自己,不好意思,这里再 @下
|
11
yazoox OP @neiltroyer849 从这个文档里看,https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content
好像苹果的 safari ,就是不支持 "Safari does not allow any mixed content." 好坑啊...... |