2012-09-27 2 views
1

내 phone-gap index.html javascript 부분에는 IOS에는 windows.refresh가, android에는 this.refresh가 사용됩니다. 두 가지 모두에 동일한 index.html을 사용하고 싶습니다. (navigator.userAgent.toLowerCase(). match()를 통해 IOS와 Android를 구별 할 수 있지만, 매번이 조건을 적용하고 싶지 않습니다. 또는이.이 사용됩니다.이 조건을 전역 적으로 적용 할 수 있습니까? 변수에 값을 할당하십시오. 'this'for android and 'window'for IOS 그리고 필요하다면 언제든지이 변수를 사용할 수 있습니다. 여러 가지 if -else 문을 피할 수 있도록 이러한 종류의 가능한 일이나 해결 방법이 있습니까?javascript 변수를 this.refresh, window.refresh로 대체하십시오.

어떤 제안이 가장 환영 감사합니다 사전에

답변

0

그냥 this.refresh가 존재한다면, 시도하고 그것을 부를 수의 정의는 window.refresh에 폴백 할 수있는 경우 코드 예 :....

if(this.refresh === undefined) { 
    window.refresh(); 
} else { 
    this.refresh(); 
} 

가장 의미있는 방법은 확실하지 않지만 개념이 생기면 바란다. 뭔가가 undefined이라면 전화를 걸면 다른 것을 알아낼 필요가있다.

+0

를 호출하지 새로 고칠 적 jsalonen 응답

<script> function browserRefresh() { if(this.refresh === undefined) { window.refresh(); } else { this.refresh(); } } </script> 

때 확장. 또는 window .. 한 번 전 세계적으로이 조건을 한 번 적용하고이 변수 대신에 변수를 사용하면됩니다. – clint

0

그냥 내가 사방이 사용하고이 경우-다른 조건을 적용 할 해달라고했다에는 실제로 내 질문에

browserRefresh(); 
+0

사실 나는 대답을 발견했다. IOS를 위해 android와 window.var에 this.var를 사용해야하는 전역 변수에 액세스하려고 생각하고 있었다. 그러나 아니요, 오직 var만이 접두어가 없기 때문에 (이.., 창.) 두 플랫폼 모두에 필요합니다. – clint

관련 문제