基于环境检测在函数内声明变量

时间:2016-11-14 15:47:25

标签: javascript jquery

我希望改变" var $ siteURL" &安培;数据"站点:价值"。

如果是桌面环境,请将代码更改为" DES001"。否则,如果是移动环境,请将代码更改为" MOB001"。

默认情况下,桌面siteURL和网站数据值工作正常。

JS:

RowNumberThreshold

2 个答案:

答案 0 :(得分:0)

您在错误的范围内声明您的变量:

if (/.../) {
    var $mobileSiteCode = '';
}

// can't use $mobileSiteCode here, it's out of scope

在您需要的范围内声明变量,然后只需在条件语句中设置值:

var $mobileSiteCode = '';
if (/.../) {
    $mobileSiteCode = 'some value';
}

// now you can use $mobileSiteCode here

答案 1 :(得分:0)

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
 console.log("Mobile Device");
 var $siteCode = 'MOB001';
}
else{
 console.log("Desktop Device");
 var $siteCode = 'DES001';
}

function submitForm(){
 $('#SubmitForm').click(function() { 
  var $linkURL = 'http://www.test.com/SITE=',
      $siteURL = $siteCode,
      $webServiceURL = $linkURL + $siteURL;

  var $data = { 
   ARRANGE: 'DDD',
   BOOKING: 'CASH',
   SITE: $siteCode,
  }

  var $tripFlowUrl = $webServiceURL + $.param($data);
  alert($tripFlowUrl);
 });
}