seems to ork on my work computer but not on my laptop at home - how does it fgure out location?
Geolocation through HTML5 (your web browser) is handled via the HTML5 API.
If you search for HTML5 geolocation you'll find lots of additional articles and examples but the short simple answer is that the request made by your browser is brokered to the specific device (computer, laptop, tablet, phone) which is then responsible for making the best choice on how to return an accurate location using the least amount of power. You (unfortunately) don't have much visibility into how this happens.
Sometimes the location is based upon your network or wireless connections.
Sometimes the location is based upon your proximity to cell towers.
Sometimes the location is based upon a GPS within the device.
The key point is that the browser simply trusts the computer/device to 'do its best'.
In your particular case if you aren't getting ANY location returned at all on your laptop at home you may have to enable location services within the browser you are using; it may have been disabled due to a privacy/security setting in the browser. You can try a different web browser (IE, FireFox, Chrome) to see if you get a different result on the same machine that isn't working.
Retrieving data ...