在 Safari 或 Chrome 等标准桌面浏览器中,当您导航到 maps.google.com 等网站并点击“我的位置”按钮时,会出现一条消息,询问您是否要授予权限网站使用您的 GPS/wifi 三 Angular 定位。
我的问题是,在使用标准 Cocoa(桌面)WebView 对象时,您如何检测此类事件并向用户显示对话框?我已经尝试实现所有各种委托(delegate)方法,但似乎没有一个能够捕获此 javascript 事件。
navigator.geolocation.getCurrentPosition(function(position) {
do_something(position.coords.latitude, position.coords.longitude);
});
它只是默默地失败了。如何向用户请求位置共享权限?
最佳答案
只是挖掘一些private headers我找到了这个方法:
- (BOOL)webView:(WebView *)sender frame:(WebFrame *)frame requestGeolocationPermission:(WebGeolocation *)geolocation securityOrigin:(WebSecurityOrigin *)origin;
您是否尝试查看它是否被调用?不过,您可能不会通过 App Store 获得它,因为它是私有(private) API 调用。
关于javascript - js navigator.geolocation.getCurrentLocation() 的 Cocoa WebView 显示权限对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7930494/