2012-09-27 163 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