2012-09-27 206 views
1

在我的手機差距index.html javascript部分中,window.refresh將用於iOS和this.refresh for android。我想爲兩者使用相同的index.html。通過(navigator.userAgent.toLowerCase()。match(),我可以區分IOS和android,但是我不想在每個窗口應用這個條件,或者這個將被使用。並將值賦給一個變量,即'this'和IOS'window',然後在任何需要的地方使用該變量。這種事情是可能的還是任何解決方法,這樣可以避免多個if-else語句。javascript變量替換this.refresh,window.refresh

任何建議是最歡迎提前 感謝

回答

0

你可以只嘗試,如果this.refresh存在,並調用它。如果它的不確定,你可以回退到window.refresh代碼例如:。。

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

我不知道哪種方式最有意義,但我希望你能理解這個概念:如果有什麼是undefined,那麼你不能調用它並需要找出其他的東西。

+0

無其實我的問題是我不想要應用這些的if-else條件,不論我用這個。或窗口..只是一次全球性,如果我申請這個條件一次,並繼續使用一些變量,而不是這個或窗口。 – clint

0

延伸jsalonen答案

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

,並當過要刷新只需撥打

browserRefresh(); 
+0

其實我找到答案,我在想要訪問全局變量,我們必須使用this.var爲android和window.var爲IOS。但是,不,結果是隻有var是足夠的沒有前綴(這個。,窗口)是兩個平臺都需要的。 – clint