2016-11-14 23 views
-1

"var $ siteURL" &データ "SITE:value"を変更するには簡単なヘルプが必要です。環境検出に基づいて関数内で変数を宣言する

デスクトップ環境の場合は、コードを "DES001"に変更してください。 モバイル環境の場合は、コードを「MOB001」に変更してください。

デフォルトでは、デスクトップのsiteURL &サイトのデータ値は正常に機能します。

おかげ

JS:

var $siteCode = 'DES001'; 

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

$('#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); 
}); 
+0

こんにちは@David ..モバイル検出が動作しています..検出に基づいてSiteURLとSiteのデータ値を変更する方法を教えてください。それは私のために保留されている唯一のものです。 – TDG

+0

質問全体がモバイル検出に重点を置いているようです。無関係なものを取り除き、とりわけ手元の問題に焦点を当ててください。これは、 'if'ブロック内外の変数を設定して使用しています。 – David

答えて

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 
+0

こんにちはDavid。あなたのお手伝いをありがとう。しかし、今、私はこの$ mobilesiteCodeや$ desktopsiteCodeの値をclick function&dataの値で動的に変更できますか?これは私が探している解決策です。ありがとう。ご迷惑をおかけして申し訳ありません。 – TDG

+0

@TDG:値にアクセスできる場所であればどこでも値を変更できます。質問のコードは、あなたが今質問しているもののために少し不完全かもしれません。しかし、変数が範囲内にある限り、変数を変更することができます。あなたは働いていないものの最小の例を持っていますか? – David

+0

上記の私のコードを変更します。現在、デスクトップまたはモバイルでさえ、「DES001」のみを表示します。モバイル環境であっても、 "MOB001"が届かない – TDG

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); 
}); 
} 
関連する問題