According to this page Firefox uses Google Location Services:
How does it work?
When you visit a location-aware website, Firefox will ask you if you
want to share your location.
If you consent, Firefox gathers information about nearby wireless
access points and your computer’s IP address. Then Firefox sends this
information to the default geolocation service provider, Google
Location Services, to get an estimate of your location. That location
estimate is then shared with the requesting website.
And according to this page Internet Explorer (rather predictably) uses Microsoft Location Services:
If you allow, Internet Explorer will approximate your location with the help of the Microsoft Location Service
The difference in the reported location will be due to the differences in the underlying databases, for example the Google database may list a WiFi point or IP address that the Microsoft one doesn't (or visa versa).
I can't find any information about changing the location provider for IE, and although Firefox does appear to have provisions for alternative providers I can't at this moment see how to change it.
Note that for me Internet Explorer actually reports my location more accurately (both browsers get my location correctly, however in IE the error radius is around 10 miles whereas in Firefox its around 20 miles).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…