如何让HTML5地理定位功能使用C#在GeckoFX v22 web浏览器控件上运行?

如何让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

我想实现一个web浏览器控件来启用我的WinForm桌面应用程序的地理位置

我已经在我的WinForm项目中成功地实现了GeckoFX web浏览器。问题是当访问支持HTML5 Gelocation的网站/地址时,“允许/拒绝访问”弹出窗口不会出现

因此,地理位置不起作用。我已确认在首选项中启用了地理位置,并已使用测试了我的WinForm,该控件被列为支持地理位置

我已经尝试通过XPCom API为特定域设置权限,这样就不需要请求权限的弹出窗口:

   //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中实现了地理定位

谢谢 安德烈