gpt4 book ai didi

javascript - 如何检测 Chrome 是否认为当前页面是安全来源?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:28 24 4
gpt4 key购买 nike

从 Chrome 50 开始,Google 已经取消了 Chrome 进行地理位置查找的功能,除非页面托管在安全的来源上。

参见 https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features

我正在构建一个将嵌入到我无法控制的网站上的小部件,并且我的小部件具有一些地理定位功能。如果用户使用的是 Chrome 且来源不安全,我想在我的小部件中隐藏与地理位置相关的 UI。

如何检测不安全的来源?

更新

我最初的想法是做这样的事情:

const geolocationPermitted = () => {
return (!window.chrome) || window.location.protocol == 'https:';
}

但是在本地开发时这个测试失败了,因为我通过普通 http 从本地主机提供站点。 Chrome 认为这是安全的,并且上面的函数返回 false。

最佳答案

我发现 Chrome 和 Firefox 确实将其公开为一个属性:

https://developer.mozilla.org/en-US/docs/Web/API/Window/isSecureContext

The window.isSecureContext read-only property indicates whether a context is capable of using features that require secure contexts.

我目前的测试是:

browserHasLocation = () => {
return navigator.geolocation && (!window.chrome || window.isSecureContext);
}

关于javascript - 如何检测 Chrome 是否认为当前页面是安全来源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40679961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com