如何使用C#将HTML5 GeoLocationfunction用于WinForms的GeckoFX v22 Web浏览器控件?

我想实现一个Web浏览器控件到Geo-location启用我的WinForm桌面应用程序。

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

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

我已经尝试通过XPCom API为特定域设置权限,以便不需要弹出请求权限:

//CREATE nsSTRING nsAUTF8String i = new nsAUTF8String("http://html5demos.com"); //CREATE NEW URI var nsII = Xpcom.CreateInstance("@mozilla.org/network/io-service;1"); nsIURI uri = nsII.NewURI(i, "Unicode", null); //CREATE PERMISSION MANAGER var instancePM = Xpcom.CreateInstance("@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 

这确实返回了测试值1,但地理位置仍然不起作用。

我已经看到了这个stackoverflow问题: Gecko for windows forms和geolocation。 如何接受分享我的位置的请求? ,但不确定从那里去哪里。

我确信我需要自己实现调用,因为控件只是浏览器窗口而不是构成浏览器应用程序的所有其他位。 有没有人有任何建议或者已经使用WinForms和C#在GeckoFX中实现了Geo-location?

谢谢安德烈