2017-02-22 10 views
0

Safariで構文エラーexpected token ')'が発生します。私はフォーラムで、default parametersがSafariでサポートされていないと言った記事を見つけました。 しかし、これを次のコードでどうやって修正できますか?Safariのみで構文エラーが発生する

function showCartMessage(message = '', img_url = '', statusClass = ''){ 
    if(img_url == ''){ 
     $('.cart-message .product_notification_background').css('background', 'whitesmoke'); 
    }else{ 
     $('.cart-message .product_notification_background').css('background', 'url("' + img_url + '") no-repeat center center'); 
    } 
} 
+1

Javascript関数の引数は、ES6をサポートするブラウザでのみデフォルト値を持つことができます。これを確実にクロスブラウザで動作させるには、関数定義内の '= '''を削除してください。 –

+0

[この質問](http://stackoverflow.com/questions/36841496/default-function-parameter-value-イン・サファリ・オン・ザ・ノー・ワーキング) – gaetanoM

答えて

2

単に関数の内部デフォルト:

function showCartMessage(message, img_url, statusClass){ 
    message = message || ''; 
    img_url = image_url ||''; 
    statusClass = statusClass || ''; 

    if(img_url == ''){ 
     $('.cart-message .product_notification_background').css('background', 'whitesmoke'); 
    }else{ 
     $('.cart-message .product_notification_background').css('background', 'url("' + img_url + '") no-repeat center center'); 
    } 
} 

したがって、この方法、undefinedとして通じてくる任意のパラメータは空白の文字列を作らされます。

関連する問題