2014-11-14 1 views
0

을 수정하지 않을 :자바 스크립트 리디렉션 내가 자바 스크립트의의 peice이 URL

<script> 
var reg = "website.com"; 
var mob = "website.com/m"; 

if(window.innerWidth >= 1024) { 
    if(window.location.href != reg) 
     window.location.replace("http://" + reg + window.location.pathname + window.location.search) 
} 
else { 
    if(window.location.href != mob) 
     window.location.replace("http://" + mob + window.location.pathname + window.location.search) 
} 
</script> 

내가 이것을 실행하면,이 페이지를 다시로드 유지 -이 정리 될 수있는 방법 어떤 아이디어?

+1

'location.hostname'은 * 호스트 이름 *입니다. 디렉토리 부분은 절대 포함하지 않습니다. –

+1

'window.location.hostname'은 결코 'website.com/m /'과 같지 않습니다. - 호스트 이름은 없습니다. 경로를 포함합니다. –

답변

0

window.location.hostnamemob을 비교합니다. 너비가 < 1024 일 때 무슨 일이 벌어지고 있는지보기 위해 로깅을 시도 했습니까?

console.log(window.location.hostname); // -> website.com 
console.log(mob);      // -> website.com/m/ 

당신이 볼 수 있듯이, window.location.hostname 슬래시 전에, 즉 비트 호스트 이름입니다.

대신 window.location.href (또는 window.location.pathname)을 근거로 비교해보십시오.

+0

그래, 고마워,하지만 지금은 아무것도 안해! 1024 미만의 페이지를로드하면 .com 사이트에 계속 남아 있습니다. – user3177012

+0

@ user3177012 새 코드를 게시하십시오. 또한 새로운 코드에 사용 된 변수의'console.log'를 게시합니다. 그래서 우리는/당신이 비교가 이루어지고있는 것을 볼 수 있습니다. – Shai

+0

그냥 끝냈습니다! – user3177012

0

window.location.href http : // 및 "reg"및 "mob"가 http : //로 시작하지 않는 url을 반환하십시오. http를 varibles에 추가 한 후에 시도하십시오.