1/*globals wpml_browser_redirect_params */ 2 3jQuery(document).ready(function () { 4 if (jQuery.cookie !== undefined) { 5 // Check if cookie are enabled 6 jQuery.cookie('wpml_browser_redirect_test', '1'); 7 var cookie_enabled = jQuery.cookie('wpml_browser_redirect_test') === '1'; 8 jQuery.removeCookie('wpml_browser_redirect_test'); 9 10 if (cookie_enabled) { 11 var cookie_params = wpml_browser_redirect_params.cookie; 12 var cookie_name = cookie_params.name; 13 // Check if we already did a redirect 14 15 if (!jQuery.cookie(cookie_name)) { 16 // Get page language and browser language 17 var pageLanguage = wpml_browser_redirect_params.pageLanguage, browserLanguage = 'en'; 18 19 jQuery.ajax({ 20 async: false, data: {icl_ajx_action: 'get_browser_language'}, 21 success: function (ret) { 22 browserLanguage = ret; 23 } 24 }); 25 26 // Build cookie options 27 var cookie_options = { 28 expires: cookie_params.expiration / 24, 29 path: cookie_params.path ? cookie_params.path : '/', 30 domain: cookie_params.domain ? cookie_params.domain : '' 31 }; 32 33 // Set the cookie so that the check is made only on the first visit 34 jQuery.cookie(cookie_name, browserLanguage, cookie_options); 35 36 // Compare page language and browser language 37 if (pageLanguage !== browserLanguage) { 38 var redirectUrl; 39 // First try to find the redirect url from parameters passed to javascript 40 var languageUrls = wpml_browser_redirect_params.languageUrls; 41 if (languageUrls[browserLanguage] !== undefined) { 42 redirectUrl = languageUrls[browserLanguage]; 43 } else if (languageUrls[browserLanguage.substr(0, 2)] !== undefined) { 44 redirectUrl = languageUrls[browserLanguage.substr(0, 2)]; 45 } else if (languageUrls[browserLanguage.substr(3, 2)] !== undefined) { 46 redirectUrl = languageUrls[browserLanguage.substr(3, 2)]; 47 } 48 // Finally do the redirect 49 if (redirectUrl !== undefined) { 50 window.location = redirectUrl; 51 } 52 } 53 } 54 } 55 } 56});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.