2016-10-20 5 views
-1

분할 기능에서 작동하지 않는 것은 여기 분할은 IE9

IE9

에서 작동하지 않는 것은 내 코드

내가 보여주는 경고에, 그 시간에 IE9에서이 스크립트를 실행하고
<script type="text/javascript"> 
     var currURL = window.location.href; 
     $(document).ready(function() { 
      var hasFilters = currURL.split('?')[1]; 
      alert(hasFilters);  
      if (hasFilters) { 
       abc(currURL); 
      } 
     }); 
</script> 

"정의되지 않은"동안이다 경고의 다른 브라우저에서 예 : "abc=def:ijk!!a!!"의 currurl에 대한 concate 문자열을 보여줍니다.

그래서 IE9에서 동일하게하고 싶습니다.

누가 올바른 답을 알려줄 수 있습니까? Thx

+0

다른 브라우저와 URL이 같습니까? 왜냐하면 AFAIK, split은 모든 브라우저에서 정상적으로 작동하기 때문입니다. –

+2

잘못된 위치에 책임이 있습니다. 정말로 'split'이 문제 였다면, 테스트 문자열로 이것을 재 작성할 수 있습니다. –

답변

-1

더 나은 아직 : window.location 개체는 당신이 찾고자하는 검색 속성을 가지고 있습니다.

http://www.w3schools.com/jsref/obj_location.asp

window.location.search : 설정하거나이 URL의 쿼리 문자열 부분을 반환

이유 [1] 작동하지 않을 수 ...

여기에 나를 위해 IE에서 일하고 마지막에 ?x=y이있는 한. split은 배열을 반환하고 존재하지 않는 인덱스에 대해서는 정의되지 않습니다. 의 두 개의 테스트 케이스를 살펴 보자 :

window.location.href: index.html?x=y 
split: 'index.html', 'x=y' 
[0] = index.html 
[1] = x=y 

window.location.href: index.html 
split: 'index.html' 
[0] = index.html 
[1] (etc) = undefined 

나는 문제가 IE에 당신이 포함하지 않는 것을 생각? URL의 일부 나는 그것이 브라우저의 버그라고 생각하지 않습니다.

+0

대답이 아닙니다. 당신은 분할이 잘 작동하는 것을 보았습니다. _we know that_ –

+1

OP가 URL에서 쿼리 문자열을 얻으려고한다고 생각합니다. 따라서 'window.location.search'로 답변을 업데이트했습니다. 내 대답은 '?' 그 분할이 잘 작동하는지 보여주는 것이 그 이론에 대한 나의 이론적 근거이다. –