1<!doctype html> 2<html> 3 4<head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <title> </title> 8 <meta http-equiv="refresh" content="0; url=https://transportation.trimble.com/en/solutions/mapping-and-routing/copilot"> 9 <meta property="og:site_name" content="CoPilot GPS"> 10 <meta property="og:title" content="CoPilot GPS Navigation for Android, iPhone and iPad"> 11 <meta property="og:url" content="https://copilotgps.com"> 12 <meta property="og:description" 13 content="Get where youre going safer and faster. CoPilot gives you reliable offline navigation and routing that never lets you down. Start your free trial now"> 14 <meta property="og:type" content="website"> 15 <meta property="og:image" content="https://copilotgps.com/img/app-icons/copilot-gps.png"> 16</head> 17 18<body> 19
19<script> 20 // Browser language fallback using full valid URLs 21 var langMap = { 22 de: "https://transportation.trimble.com/de/solutions/mapping-and-routing/copilot", 23 fr: "https://transportation.trimble.com/fr/solutions/mapping-and-routing/copilot", 24 it: "https://transportation.trimble.com/it/solutions/mapping-and-routing/copilot" 25 }; 26 var userLang = (navigator.language || navigator.userLanguage).substring(0, 2); 27 if (langMap[userLang]) { 28 location.replace(langMap[userLang]); 29 } 30 </script>
30 31 32
32<script src="https://geoip-js.com/js/apis/geoip2/v2.1/geoip2.js"></script>
32 33 34
34<script> 35 var redirect = (function () { 36 var url = window.location.href; 37 var redirectBrowser = function (site) { 38 window.location = site; 39 }; 40 41 // Correct Trimble CoPilot product page target URL 42 var DEFAULT_DESTINATION = "https://transportation.trimble.com/en/solutions/mapping-and-routing/copilot"; 43 44 var sites = { 45 "ca": { "active": true, "target": DEFAULT_DESTINATION }, 46 "us": { "active": true, "target": DEFAULT_DESTINATION }, 47 "um": { "active": true, "target": DEFAULT_DESTINATION }, 48 "pr": { "active": true, "target": DEFAULT_DESTINATION }, 49 "mx": { "active": true, "target": DEFAULT_DESTINATION }, 50 "gb": { "active": true, "target": "https://transportation.trimble.com/en-gb/solutions/mapping-and-routing/copilot" }, 51 "at": { "active": true, "target": "https://transportation.trimble.com/de/solutions/mapping-and-routing/copilot" }, 52 "ch": { "active": true, "target": "https://transportation.trimble.com/de/solutions/mapping-and-routing/copilot" }, 53 "de": { "active": true, "target": "https://transportation.trimble.com/de/solutions/mapping-and-routing/copilot" }, 54 "li": { "active": true, "target": "https://transportation.trimble.com/de/solutions/mapping-and-routing/copilot" }, 55 "fr": { "active": true, "target": "https://transportation.trimble.com/fr/solutions/mapping-and-routing/copilot" }, 56 "mc": { "active": true, "target": "https://transportation.trimble.com/fr/solutions/mapping-and-routing/copilot" }, 57 "it": { "active": true, "target": "https://transportation.trimble.com/it/solutions/mapping-and-routing/copilot" }, 58 "mt": { "active": true, "target": "https://transportation.trimble.com/it/solutions/mapping-and-routing/copilot" }, 59 "sm": { "active": true, "target": "https://transportation.trimble.com/it/solutions/mapping-and-routing/copilot" }, 60 "va": { "active": true, "target": "https://transportation.trimble.com/it/solutions/mapping-and-routing/copilot" } 61 }; 62 63 var defaultSite = DEFAULT_DESTINATION; 64 65 var onSuccess = function (geoipResponse) { 66 if (!geoipResponse.country || !geoipResponse.country.iso_code) { 67 redirectBrowser(defaultSite); 68 return; 69 } 70 var code = geoipResponse.country.iso_code.toLowerCase(); 71 if (sites[code]) { 72 redirectBrowser(sites[code].target); 73 } else { 74 redirectBrowser(defaultSite); 75 } 76 }; 77 78 var onError = function (error) { 79 redirectBrowser(defaultSite); 80 }; 81 82 return function () { 83 geoip2.country(onSuccess, onError); 84 }; 85 }()); 86 87 redirect(); 88 </script>
88 89</body> 90 91</html>
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.