如何让HTML5地理定位功能使用C#在GeckoFX v22 web浏览器控件上运行?
我想实现一个web浏览器控件来启用我的WinForm桌面应用程序的地理位置 我已经在我的WinForm项目中成功地实现了GeckoFX web浏览器。问题是当访问支持HTML5 Gelocation的网站/地址时,“允许/拒绝访问”弹出窗口不会出现 因此,地理位置不起作用。我已确认在首选项中启用了地理位置,并已使用测试了我的WinForm,该控件被列为支持地理位置 我已经尝试通过XPCom API为特定域设置权限,这样就不需要请求权限的弹出窗口:如何让HTML5地理定位功能使用C#在GeckoFX v22 web浏览器控件上运行?,c#,html,winforms,geolocation,geckofx,C#,Html,Winforms,Geolocation,Geckofx,我想实现一个web浏览器控件来启用我的WinForm桌面应用程序的地理位置 我已经在我的WinForm项目中成功地实现了GeckoFX web浏览器。问题是当访问支持HTML5 Gelocation的网站/地址时,“允许/拒绝访问”弹出窗口不会出现 因此,地理位置不起作用。我已确认在首选项中启用了地理位置,并已使用测试了我的WinForm,该控件被列为支持地理位置 我已经尝试通过XPCom API为特定域设置权限,这样就不需要请求权限的弹出窗口: //CREATE nsSTRING
//CREATE nsSTRING
nsAUTF8String i = new nsAUTF8String("http://html5demos.com");
//CREATE NEW URI
var nsII = Xpcom.CreateInstance<nsIIOService>("@mozilla.org/network/io-service;1");
nsIURI uri = nsII.NewURI(i, "Unicode", null);
//CREATE PERMISSION MANAGER
var instancePM = Xpcom.CreateInstance<nsIPermissionManager>("@mozilla.org/permissionmanager;1");
//GEO PERMISSION SETTINGS
uint permission = Convert.ToUInt32(1);
uint expiretype = Convert.ToUInt32(0);
long expireTime = (long)0;
//ADD GEO PERMISSION SETTINGS (THIS SHOULD ALLOW GEO LOCATION TO JUST RUN WITH NO PROMPT)
instancePM.Add(uri, "geo", permission, expiretype, expireTime);
//TEST PERMISSIONS http://html5demos.com
uint testResult = instancePM.TestExactPermission(uri, "geo"); //RETURN SCORRECT SETTING OF 1 = OK
//创建nsSTRING
nsAUTF8String i=新的nsAUTF8String(“http://html5demos.com");
//创建新URI
var nsII=Xpcom.CreateInstance(@mozilla.org/network/io service;1);
nsIURI=nsII.NewURI(i,“Unicode”,null);
//创建权限管理器
var instancePM=Xpcom.CreateInstance(@mozilla.org/permissionmanager;1);
//地理权限设置
uint权限=Convert.ToUInt32(1);
uint expiretype=Convert.ToUInt32(0);
长到期时间=(长)0;
//添加地理权限设置(这应允许地理位置在没有提示的情况下运行)
Add(uri,“geo”、权限、expiretype、expireTime);
//测试权限http://html5demos.com
uint testResult=instancePM.TestExactPermission(uri,“geo”)//返回SCORECT设置为1=正常
这确实返回了测试值1,但地理位置仍然不起作用
我已经看到了这个问题:
,但不确定从那里走到哪里
我确信我需要自己实现调用,因为控件只是浏览器窗口,而不是构成浏览器应用程序的所有其他位。是否有人有任何建议,或者可能已经使用WinForms和C#在GeckoFX中实现了地理定位
谢谢
安德烈