JavaScript에서 지리적 위치를 사용하여 방문자의 위치(국가)를 얻는 방법은 무엇입니까?
6885 단어 webdevjavascriptbeginners
document.write((new Date()).toString().split('(')[1].split(" ")[0])
기본적으로 이 작은 코드 스니펫은 Date 개체에서 첫 번째 단어를 추출합니다. 다양한 시간대를 확인하기 위해 로컬 시스템의 시간을 변경할 수 있습니다.
제 경우에는 저희 서비스에 3개국만 포함되어 있었기 때문에 다음 코드를 사용하여 위치를 얻을 수 있었습니다.
const countries = ["India", "Australia", "Singapore"]
const countryTimeZoneCodes = {
"IND": 0,
"IST": 0,
"AUS": 1,
"AES": 1,
"ACS": 1,
"AWS": 1,
"SGT": 2,
"SIN": 2,
"SST": 2
} // Probable three characters from timezone part of Date object
let index = 0
try {
const codeToCheck = (new Date()).toString().split('(')[1].split(" ")[0].toUpperCase().substring(0, 3)
index = countryTimeZoneCodes[codeToCheck]
} catch (e) {
document.write(e)
index = 0
}
document.write(countries[index])
이는 사용자 경험을 개선하기 위한 것이었습니다. 위치를 감지하는 완전한 증거 솔루션은 아닙니다. 올바르게 감지하지 못한 것에 대한 대비책으로 국가 선택을 위한 메뉴 표시줄에 드롭다운을 추가했습니다.
다른 해결책:
모든 IP-위치 서비스(예: maxmind, ipregistry 또는 ip2location)에서 IP 주소를 조회할 수 있습니다. 이것은 대부분의 경우 정확할 것입니다.
다음은 Ipregistry를 사용한 클라이언트 측 예입니다.
fetch('https://api.ipregistry.co/?key=tryout')
.then(function (response) {
return response.json();
})
.then(function (payload) {
console.log(payload.location.country.name + ', ' + payload.location.city);
});
Reference
이 문제에 관하여(JavaScript에서 지리적 위치를 사용하여 방문자의 위치(국가)를 얻는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/muzudre/how-to-get-visitors-location-ie-country-using-geolocation-in-javascript-2595텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)