2016-05-23 3 views
5

ファイアフォックス(エラーと機能は正しくありません)では動作するようですが、SyntaxError:予期しないトークン= 'をスローして、いくつかのJSコードを混同しました。パラメータ宣言の後に ')'または '、'が必要です。サファリで 私はSyntaxError:予期しないトークン '='。パラメータ宣言の後に ')'または '、'が必要です。 Safariの

右ので、私がいないに見える
var items = [{"id":"1","class":"class_a","make":"Kia","model":"Picanto","features":"3,4,5,6,7,8","colour":"white","engine":"1000cc","ordering":"1","published":"1","image":"images\/vehicles\/picanto.jpg"},{"id":"2","class":"motorbike","make":"Honda","model":"Transalp","features":"","colour":"blue","engine":"650cc","ordering":"6","published":"1","image":""},{"id":"3","class":"moped","make":"Sym","model":"SR","features":"","colour":"white","engine":"150cc","ordering":"5","published":"1","image":""},{"id":"4","class":"class_b","make":"Suzuki","model":"Splash","features":"12","colour":"Red","engine":"1300cc","ordering":"3","published":"1","image":"images\/vehicles\/suzuki_splash.jpg"},{"id":"5","class":"class_f","make":"Peugot","model":"307 Cabrio","features":"8,9,10,11","colour":"Black","engine":"1600cc","ordering":"4","published":"1","image":"images\/vehicles\/peugeot307.jpg"},{"id":"6","class":"class_a","make":"Hyundai","model":"Atos","features":"","colour":"white","engine":"1100cc","ordering":"2","published":"1","image":"images\/vehicles\/atos.jpg"}]; 

を次のようにjson_encodeラインがあるPHPのブラウザで

$items = Array ([0] => stdClass Object ([id] => 1 [class] => class_a [make] => Kia [model] => Picanto [features] => 3,4,5,6,7,8 [colour] => white [engine] => 1000cc [ordering] => 1 [published] => 1 [image] => images/vehicles/picanto.jpg) [1] => stdClass Object ([id] => 2 [class] => motorbike [make] => Honda [model] => Transalp [features] => [colour] => blue [engine] => 650cc [ordering] => 6 [published] => 1 [image] =>) [2] => stdClass Object ([id] => 3 [class] => moped [make] => Sym [model] => SR [features] => [colour] => white [engine] => 150cc [ordering] => 5 [published] => 1 [image] =>) [3] => stdClass Object ([id] => 4 [class] => class_b [make] => Suzuki [model] => Splash [features] => 12 [colour] => Red [engine] => 1300cc [ordering] => 3 [published] => 1 [image] => images/vehicles/suzuki_splash.jpg) [4] => stdClass Object ([id] => 5 [class] => class_f [make] => Peugot [model] => 307 Cabrio [features] => 8,9,10,11 [colour] => Black [engine] => 1600cc [ordering] => 4 [published] => 1 [image] => images/vehicles/peugeot307.jpg) [5] => stdClass Object ([id] => 6 [class] => class_a [make] => Hyundai [model] => Atos [features] => [colour] => white [engine] => 1100cc [ordering] => 2 [published] => 1 [image] => images/vehicles/atos.jpg)) 

そして、次のJavaScript

<script type="text/javascript"> 
jQuery(document).ready(function($){ 
    var items = <?PHP echo json_encode($items)?>; 
    console.log(items); 
    for (var i = 0, len = items.length; i < len; i++) { 
     lookup[items[i].id] = items[i];  //access the new lookup object using lookup[id].variable i.e lookup[1].image 
    } 
    var vId =""; 
    function updateImg(img, display=true){ 
     if (display == true){ 
      $("#vehicle-image").show(500); 
     }else{ 
      $("#vehicle-image").hide(500); 
     } 

     $("#vehicle-image").attr("src", '/'+ img); 

    } 
    $('#jform_vehicle').on('change', function() { 
     var vId = parseInt(($("#jform_vehicle").chosen().val())); 
     console.log (vId); 
     if (isNaN(vId) !==true){ 
      var img = lookup[vId].image; 
      console.log ('img=' + img); 
      updateImg(img); 
     }else{ 
      console.log('not a number'); 
      var img = ""; 
      updateImg(img, false) 
     } 
    }); 
}); 
</script> 

に以下の目的を持っていますエラーの原因を知る。何か案は? 乾杯。あなたはこれらの

function abc(a=2){ 
} 

からこの変更のような機能を持っている場合は、ここでのコード safari error

+0

エラーが発生している場所のコードを共有してください – C2486

+0

質問の書式を設定するときにはご注意ください。私はPHPコードをあなたのためにフォーマットしようとしましたが、何らかのロガーからそれをコピーしたと仮定すると、構文的に正しいイベントはありません。 –

+0

コードをプレビューすると思って送信します。私の誤りと負のスコアに値する!コードから分かるように、私は完全な初心者です。 – philip

答えて

18

でエラーに

Safariのポイントは、この

function abc(a){ 
    if(a === undefined){ 
    a = 2; 
    } 
} 

を好きにSafariが割り当てを許可しません最初のもののように、このように機能します。

+1

こんにちはリシさん。感謝万円。 迷惑なことは、私の編集したオリジナルの投稿に示されているように、safariのエラーコンソールがjson_encode行を指していることです。私はできるかどうかわかりませんが、タイトルを更新して他人を助けるようにします。 – philip

+2

エラーの内容を教えていただいたので、これに関する多くの話題があります。私の防衛では、Safariコンソールは誤ったコードの正しい領域を指していませんでした。 Safarのエラーメッセージで名前を変更し、他人を助けるかもしれません – philip

+0

ありがとうございます!私はiPhoneで試してみるまで、すべてうまくいきました... +! –

関連する問題