2016-10-25 19 views
0

ColdFusionでチェックしているブラウザがブラウザである場合にjquery関数を呼び出す場合は、以下の呼び出しを行うことができます。私がモバイルブラウザを使用しているときに、希望する結果が得られません。以下の呼び出しはそれを行う正しい方法でもありますか?どんな入力も感謝しています。ありがとう!jqueryコールのColdfusion条件

<script> 
    $(document).ready(function(e) { 
     testfunction(); 
    }); 

    <cfif mobile> 
    function testfunction() { 
     /* function code here for mobile */ 
    } 
    </cfif> 

    <cfif not mobile> 
    function testfunction() { 
     /* different code for desktop function code here */ 
    } 
    </cfif> 
    </script> 
+1

これはうまくいくはずです。おそらくあなたの関数の名前を別々にする必要があります。 –

+1

物事を一度に1歩ずつ進めてください。まず、ColdFusionのみを使用して、モバイル変数に正しい値を割り当てていることを確認してください。あなたがそれが動作していることを知ったら、望ましい結果の欠如はJavaScriptの問題です。 –

+0

はい、coldfusion Varが正しく設定されており、デスクトップとモバイルの両方でチェックされています.JSに問題があります。あなたの入力に感謝! – user747291

答えて

0

私はこれを試しても問題なく動作しています。スクリプト内にColdFusion条件を追加することができます。ブラウザがモバイルブラウザの場合は、最初のtestfunction()が呼び出されます。それ以外の場合は、2番目のtestfunction()が呼び出されます。それは間違いなく働いています。おそらくあなたはコードを介してモバイルブラウザを正しく検出していないでしょうか?たぶんこれがあなたの問題の原因です。

0

これは少し単純である:

<script> 
    $(document).ready(function(e) { 
     testfunction(); 
    }); 

    <cfif mobile> 
    function testfunction() { 
     /* function code here for mobile */ 
    } 
    <cfelse> 
    function testfunction() { 
     /* different code for desktop function code here */ 
    } 
    </cfif> 
</script> 

しかし、私は、画面上の同じ名前の二つの機能を有する少し奇妙に感じます。それが私だったら、おそらくこれで行くでしょう:

<script> 
    $(document).ready(function(e) { 
     testfunction(); 
    }); 

    function testfunction() { 
     <cfif mobile> 
      /* function code here for mobile */ 
     <cfelse> 
      /* different code for desktop function code here */ 
     </cfif> 
    } 
</script>