safari 有没有办法 暂时/临时 allow insure content?

2022-07-27 11:21:03 +08:00
 yazoox

我们自己做的网站,有一个功能,就是点击一个页面上的一个按钮,能够打开本地的一个应用。(其实,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)

1805 次点击
所在节点    前端开发
11 条回复
GeekJason
2022-07-28 10:40:44 +08:00
https 页面内不能使用 ws 协议,改用 wss 即可
yazoox
2022-07-28 11:01:22 +08:00
@GeekJason 那为什么 chrome & edge 没有问题?
GeekJason
2022-07-28 14:09:09 +08:00
Safari -> Develop -> Experimental Features -> NSURLSession WebSocket

取消勾选
yazoox
2022-08-03 16:23:01 +08:00
@GeekJason 兄弟,试过了,取消这个“勾选”,还是不能工作。报同样的错误呢...
neiltroyer849
2022-08-04 01:58:54 +08:00
这个是不是苹果要给 entitlement 或者苹果添加例外才可以? op 可以搜一下 teams 在 Safari 上无法唤醒本地客户端的 bug ,感觉是一样的问题但最后是被苹果自己更新 Safari 版本修好的
neiltroyer849
2022-08-04 01:59:54 +08:00
或者试着更新一下 Safari 版本 or 用 TP 版看看
yazoox
2022-08-04 09:07:52 +08:00
@neiltroyer849 Version 15.4 (17613.1.17.1.13) safari ,这个应该最新了吧
另, 什么是 TP 版本?

确实找到一个帖子,不过,teams 的问题,和我碰到的不一样。解决方法也不一样。我也试过了,不工作尼......

thx a lot.
yazoox
2022-08-04 09:22:01 +08:00
neiltroyer849
2022-08-04 21:06:06 +08:00
@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 的烂到天坑的臭虫们中被淹没的一个吧。
neiltroyer849
2022-08-04 21:06:55 +08:00
@yazoox 好像上一楼回复错了回复给了我自己,不好意思,这里再 @下
yazoox
2022-08-05 16:13:48 +08:00
@neiltroyer849 从这个文档里看,https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content
好像苹果的 safari ,就是不支持 "Safari does not allow any mixed content."
好坑啊......

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/868974

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX