수동 입력을 허용하는 Firefox 용 Geolocation 제공자
-
05-07-2019 - |
문제
기본 동작을 무시할 수있는 쉬운 방법이 있습니까? 지리적 위치 API 그리고 현재 위치에 하드 코드?
테스트 및 개인 정보 보호 이유 (가짜 위치 데이터 제공)에 유용 할 것이라고 생각합니다.
나는 이것에 대한 추가 사항이 있다고 생각했지만 하나는 찾을 수없는 것 같습니다. 현재 유일한 옵션은 config geo.wifi.url을 일부 대체 웹 서비스로 바꾸는 것 같습니다.
어떤 아이디어?
감사
이상적인 시나리오
누군가는 Google지도가 나타나는 곳에 애드온을 구현하고 새로운 기본 위치를 선택할 수 있습니다.
해결책
geo.wifi.uri는 웹 서비스 일 필요는 없습니다. 파일로 로컬 URI로 설정할 수도 있습니다. // ...
파일은 다음과 같은 컨텐츠가있는 JSON 파일이어야합니다.
{"location": {
"latitude": 48.777025000000002,
"longitude": 9.1713909999999998,
"accuracy": 10.0}}
업데이트:Firefox 9+의 경우 형식이 변경되었습니다.
{
"status": "OK",
"accuracy": 10.0,
"location": {"lat": 48.777, "lng": 9.171}
}
또는 두 가지를 모두 지원할 수 있습니다.
{
"status": "OK",
"accuracy": 10.0,
"location": {
"lat": 48.777,
"lng": 9.171,
"latitude": 48.777,
"longitude": 9.171,
"accuracy": 10.0
}
}
업데이트: Google 서비스를 가정 할 때 제공 업체 가이 기본 설정을 수동으로 설정하는 것처럼 보입니다. 보다 버그 716453 Update 2: geo.wifi.uri not geo.wifi.url
다른 팁
가장 쉬운 방법은 탐색하는 것입니다 about:config
그런 다음 필터 상자에 들어갑니다 geo.wifi.uri
, 나타나는 유일한 구성 행을 두 번 클릭하고 교체 후 아래 값을 입력하십시오. xxx
그리고 yyy
코디네이트와 같은 서비스에서 얻을 수 있습니다 http://www.getlatlon.com/:
data:application/json,{"location":{"latitude":xxx,"longitude":yyy,"accuracy":10}}
이 트릭에는 추가 기능이나 로컬/호스팅 파일이 필요하지 않습니다. 값이 공간이없고 단일 줄에 있는지 확인하십시오!
Geolocater 지리적 위치를 편집 할 수있는 실험 애드온입니다.
Chrome에서는 사용할 수 있습니다 수동 지리적 위치 크롬 확장. 수동 위치를 그래픽으로 선택할 수 있습니다.
흠, 당신은 조롱 할 수 없습니다 navigator.geolocation
직접 - 아마도 다른 객체를 사용하는 데 사용하는 코드를 리팩터 할 수 있습니다. customGeoLocation
.
생산에서 당신은 방금 설정할 수 있습니다 customGeoLocation
에게 navigator.geolocation
테스트에서 사용하는 기능의 모의 구현을 사용합니다.
편집하다: 기능을 바꿀 수 있습니다 navigator.geolocation
대상이지만 모의 개체를 만들어야하는 모의 라이브러리 (예 : jsmock)를 사용하는 경우에도 여전히 쓸모가 없습니다. 따라서 교체 할 수 없습니다 navigator.geolocation
모의와 함께.
이런 방식으로 조롱하는 것을 할 수 있습니다.
var getCurrentPositionCalled = false;
navigator.geolocation.getCurrentPosition = function() {
getCurrentPositionCalled = true;
};
//Your app code here
//...
assert(getCurrentPositionCalled);
Firefox Geolocation에 Google Latitude를 연결했습니다. 이렇게하면 위도와 경도를 직접 찾아서 로컬 파일에 입력하는 대신 단일 마우스 클릭으로 Google 위도에서 위치를 수동으로 업데이트 할 수 있습니다. 주제에 관한 나의 기사입니다 Firefox가 Google Latitude에서 지리적 위치를 가져 오십시오.
솔루션에는 소량의 서버 측 코딩이 필요했지만 (기사에서 소스 코드를 제공합니다), 당분간이 코드를 사용할 수있는 무료 라이브 서비스로 실행하고 있습니다.
건배, 메타
브라우저의 geo.wifi.uri를 지적 할 수있는 지리적 위치 엔드 포인트 역할을하는 간단한 웹 응용 프로그램을 만들었습니다. Google API 사양과 호환됩니다. 이를 사용하려면 [위도] 및 [경도]를 원하는 값으로 대체하여 다음을 입력하십시오.
http://geolocation-mocker.phitherek.me/geolocate/[latitude]/[longitude]
그리고 작동해야합니다. 서비스가 올라 있는지 확인하려면
http://geolocation-mocker.phitherek.me
HTML 페이지가 올바르게 표시되는지 확인하십시오. 이 간단한 앱의 소스 코드를 찾을 수 있습니다.
https://github.com/phitherek/geolocation-mocker
이 도구가 유용 할 수 있기를 바랍니다.