묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
브라우저 언어에 따른 접속 주소 변경 문의
2015.10.14 11:29
안녕하세요,
브라우저 언어에 따라 접속 주소를 변경 하는 방법에 대해 문의 드립니다.
한국어, 영어, 일본어로 사이트를 구축중인데요, 메뉴 구성이 달라서
xe의 다국어 기능을 쓰지 않고, 사이트맵을 3개로 만들었습니다. (그래서 자료실의 에드온을 사용하지 못하네요...)
각각의 주소가
한국어 /index.php?mid=home
영어 /index.php?mid=home_en
일본어 /index.php?mid=home_jp
인데요, 구글 검색을 통해 예전 글들을 찾아보니 아래와 같은 소스가 나왔습니다.
아래 소스를 header부분에 적용하면 무한 리프레쉬가 걸려 버리는데요,
혹시 적용할 수 있는 방법이 있을지 여쭤봅니다.
감사합니다.
<SCRIPT>
if (navigator.appName == 'Netscape')
var language = navigator.language;
else
var language = navigator.browserLanguage;
if (language.indexOf('en') > -1) document.location.href = '/index.php?mid=home_en';
else if (language.indexOf('jp') > -1) document.location.href = '/index.php?mid=home_jp';
else
document.location.href = '/index.php?mid=home';
</script>
네, 무한 리프레쉬가 걸릴 만한 소스네요.
언어에 따라 이동시키는 주소가 다를 뿐, 무조건 이동시키고 있거든요.
최초 1회 주소를 이동시켜 준 후에는 다시 이동되지 않도록 하는 기능이 필요합니다. 이미 이동시켰다는 사실을 기억해야 하죠. 대개 이런 기능에는 쿠키를 사용합니다. 최초 1회 쿠키를 생성한 후, 쿠키가 이미 있으면 위의 스크립트 전체를 건너뛰도록 만들어야 해요.