1<!DOCTYPE html> 2<html lang="it"> 3 <head> 4 <meta charset="utf-8"/> 5 <meta content="width=device-width, initial-scale=1.0" name="viewport"/> 6 <link href="https://media.base44.com/images/public/69f0ad92ef57769763de94c9/d29cf8671_logo-XR-SOLUTION1.png" rel="icon" type="image/png"/> 7 <title> 8 Chi Siamo | XR Solution AI Hub 9 </title> 10 <meta content="Chi Siamo on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene." name="description"/> 11 <meta content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" name="robots"/> 12 <meta content="website" property="og:type"/> 13 <meta content="XR Solution AI Immersive Training" property="og:site_name"/> 14 <meta content="Chi Siamo | XR Solution AI Hub" property="og:title"/> 15 <meta content="Chi Siamo on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene." property="og:description"/> 16 <meta content="https://xrsolution.com/chi-siamo" property="og:url"/> 17 <meta content="https://media.base44.com/images/public/69f0ad92ef57769763de94c9/25f6a0456_1000201394.jpg/v1/fill/w_1200,h_630/25f6a0456_1000201394.jpg" property="og:image"/> 18 <meta content="XR Solution â Extended Reality e AI" property="og:image:alt"/> 19 <meta content="it_IT" property="og:locale"/> 20 <meta content="summary_large_image" name="twitter:card"/> 21 <meta content="Chi Siamo | XR Solution AI Hub" name="twitter:title"/> 22 <meta content="Chi Siamo on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene." name="twitter:description"/> 23 <meta content="https://media.base44.com/images/public/69f0ad92ef57769763de94c9/25f6a0456_1000201394.jpg/v1/fill/w_1200,h_630/25f6a0456_1000201394.jpg" name="twitter:image"/> 24 <meta content="XR Solution â Extended Reality e AI" name="twitter:image:alt"/> 25
25<script id="site-identity" type="application/ld+json"> 26 {"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://xrsolution.com/#organization","name":"XR Solution","url":"https://xrsolution.com/","logo":"https://media.base44.com/images/public/69f0ad92ef57769763de94c9/d29cf8671_logo-XR-SOLUTION1.png","description":"XR Solution sviluppa soluzioni di Extended Reality e Artificial Intelligence per formazione aziendale, simulazioni e training immersivo.","knowsAbout":["Extended Reality","Virtual Reality","Augmented Reality","Mixed Reality","Artificial Intelligence","Immersive Training","Simulation","Digital Twin","Corporate Training"]},{"@type":"WebSite","@id":"https://xrsolution.com/#website","name":"XR Solution","url":"https://xrsolution.com/","publisher":{"@id":"https://xrsolution.com/#organization"},"inLanguage":"it-IT"}]} 27 </script>
27 28 <link href="https://fonts.googleapis.com" rel="preconnect"/> 29 <link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/> 30 <link href="https://media.base44.com" rel="preconnect"/> 31
31<script crossorigin="" src="/assets/index-BBXugJHn.js" type="module"> 32 </script>
32 33 <link crossorigin="" href="/assets/index-BJW8aLNZ.css" rel="stylesheet"/> 34
34<script type="module"> 35 if (window.self === window.top) { 36 let lastPath = ""; 37 function getPageNameFromPath(path) { 38 const segments = path.split("/").filter(Boolean); 39 return segments[0] || null; 40 } 41 function trackPageView() { 42 const path = window.location.pathname; 43 if (path === lastPath) return; 44 lastPath = path; 45 const pageName = getPageNameFromPath(path) || "home"; 46 const appId = "69f0ad92ef57769763de94c9"; 47 if (!appId) return; 48 fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, { 49 method: "POST", 50 }).catch(() => {}); 51 } 52 const originalPushState = history.pushState.bind(history); 53 history.pushState = function (...args) { 54 originalPushState(...args); 55 trackPageView(); 56 }; 57 const originalReplaceState = history.replaceState.bind(history); 58 history.replaceState = function (...args) { 59 originalReplaceState(...args); 60 trackPageView(); 61 }; 62 window.addEventListener("popstate", trackPageView); 63 trackPageView(); 64} 65 </script>
65 66 <meta content="https://xrsolution.com/chi-siamo" name="twitter:url"/> 67
67<script> 68 (function () { 69 var titles = {"/": "XR Solution AI Immersive Training", "/soluzioni": "Soluzioni | XR Solution AI Hub", "/portfolio": "Portfolio | XR Solution AI Hub", "/chi-siamo": "Chi Siamo | XR Solution AI Hub", "/efficacia": "Efficacia | XR Solution AI Hub", "/ai-assistant": "AIAssistant | XR Solution AI Hub", "/contatti": "Contatti | XR Solution AI Hub", "/privacy-policy": "Privacy Policy | XR Solution AI Hub", "/cookie-policy": "Cookie Policy | XR Solution AI Hub", "/societa-benefit": "Societa Benefit | XR Solution AI Immersive Training", "/xr-healthcare": "Healthcare / XR Healthcare | XR Solution AI Immersive Traini", "/xr-healthcare/rsa-active-ageing": "Rsa Active Ageing | XR Solution AI Immersive Training", "/xr-healthcare/riabilitazione": "Riabilitazione | XR Solution AI Immersive Training", "/xr-healthcare/mixed-reality": "Mixed Reality | XR Solution AI Immersive Training", "/xr-healthcare/stimolazione-cognitiva": "Stimolazione Cognitiva | XR Solution AI Immersive Training", "/portfolio/mixed-reality-rsa-riabilitazione": "Healthcare / Case Mixed Reality Rsa | XR Solution AI Immersi", "/home": "XR Solution AI Immersive Training"}; 70 // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind 71 // (old Safari fails to PARSE a lookbehind, taking the whole script down). 72 var dashed = function (s) { 73 return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2"); 74 }; 75 var decode = function (s) { 76 // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a 77 // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title. 78 try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; } 79 }; 80 var segments = function (path) { return path.split("/").filter(Boolean).map(decode); }; 81 var norm = function (path) { 82 var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); }); 83 return parts.length ? "/" + parts.join("/") : "/"; 84 }; 85 var lastPath = location.pathname, written = document.title, on = true; 86 var sync = function () { 87 // Path only: a hash/query change is the same page, and the SDK strips its own auth 88 // params with replaceState -- neither must clobber a server-rendered title in place. 89 if (!on || location.pathname === lastPath) return; 90 lastPath = location.pathname; 91 if (document.title !== written) { on = false; return; } 92 // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the 93 // map cannot carry, and writing a placeholder there is destructive, not merely vague: the 94 // prerender worker runs no setUserAgent, so its capture browser reads as human and executes 95 // this script, and coordinator.js's settle wait explicitly tolerates a full navigation -- 96 // a redirect landing on an unmapped path would bake the placeholder into the stored 97 // snapshot. Leaving the title alone degrades to today's behavior instead. 98 // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up 99 // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the 100 // dashes there, and the client cannot tell the two apart. The map emits every reachable 101 // shape per segment instead (_client_url_variants). 102 var title = titles[norm(location.pathname)]; 103 if (title === undefined) return; 104 document.title = title; 105 // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so 106 // keeping the assigned string would make the next sync() read our own write as the app's. 107 written = document.title; 108 }; 109 var wrap = function (fn) { 110 // The history entry is already pushed by the time sync() runs, so a throw here would 111 // surface inside the host app's router and break navigation. This is injected into apps 112 // we cannot test, so it swallows rather than trusting the trace. 113 return function () { 114 var r = fn.apply(this, arguments); 115 try { sync(); } catch (e) {} 116 return r; 117 }; 118 }; 119 history.pushState = wrap(history.pushState); 120 history.replaceState = wrap(history.replaceState); 121 window.addEventListener("popstate", sync); 122})(); 123 </script>
123 124 <meta content="yes" name="mobile-web-app-capable"/> 125 <meta content="black" name="apple-mobile-web-app-status-bar-style"/> 126 <meta content="XR Solution AI Immersive Training" name="apple-mobile-web-app-title"/> 127 <link href="https://xrsolution.com/chi-siamo" rel="canonical"/> 128
128<script data-seo-source="builder" type="application/ld+json"> 129 {"name": "XR Solution AI Hub", "@context": "https://schema.org", "@type": "WebSite", "url": "https://xrsolution.com"} 130 </script>
130 131
131<script data-seo-source="builder" type="application/ld+json"> 132 {"name": "XR Solution AI Hub", "logo": "https://media.base44.com/images/public/69f0ad92ef57769763de94c9/b18015fe1_logo.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://xrsolution.com"} 133 </script>
133 134
134<script data-seo-source="builder" type="application/ld+json"> 135 {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://xrsolution.com/"}, {"@type": "ListItem", "position": 2, "name": "Chi Siamo | XR Solution AI Hub", "item": "https://xrsolution.com/chi-siamo"}]} 136 </script>
136 137 </head> 138 <body> 139 <div id="root"> 140 <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;"> 141 <main> 142 <header> 143 <h1> 144 Chi Siamo | XR Solution AI Hub 145 </h1> 146 <p> 147 Chi Siamo on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene. 148 </p> 149 </header> 150 <nav aria-label="Pages"> 151 <h2> 152 Pages 153 </h2> 154 <ul> 155 <li> 156 <a href="/"> 157 Home 158 </a> 159 </li> 160 <li> 161 <a href="/soluzioni"> 162 Soluzioni 163 </a> 164 â Soluzioni on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene. 165 </li> 166 <li> 167 <a href="/portfolio"> 168 Portfolio 169 </a> 170 â Portfolio on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene. 171 </li> 172 <li> 173 <a href="/chi-siamo"> 174 Chi Siamo 175 </a> 176 â Chi Siamo on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene. 177 </li> 178 <li> 179 <a href="/efficacia"> 180 Efficacia 181 </a> 182 â Efficacia on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene. 183 </li> 184 <li> 185 <a href="/ai-assistant"> 186 AI Assistant 187 </a> 188 â AIAssistant on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene. 189 </li> 190 <li> 191 <a href="/contatti"> 192 Contatti 193 </a> 194 â Contatti on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene. 195 </li> 196 <li> 197 <a href="/privacy-policy"> 198 Privacy Policy 199 </a> 200 â Privacy Policy on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene. 201 </li> 202 <li> 203 <a href="/cookie-policy"> 204 Cookie Policy 205 </a> 206 â Cookie Policy on XR Solution AI Hub. Enterprise-grade Immersive Training & Extended Reality solutions powered by Gene. 207 </li> 208 <li> 209 <a href="/societa-benefit"> 210 Societa Benefit 211 </a> 212 â Societa Benefit on XR Solution AI Immersive Training. XR Solution crea soluzioni AI, VR, AR e Mixed Reality per formazione aziendale. 213 </li> 214 <li> 215 <a href="/xr-healthcare"> 216 XR Healthcare 217 </a> 218 â Healthcare / XR Healthcare on XR Solution AI Immersive Training. XR Solution crea soluzioni AI, VR, AR e Mixed Reality per formazione aziendale. 219 </li> 220 <li> 221 <a href="/xr-healthcare/rsa-active-ageing"> 222 Healthcare Page 223 </a> 224 </li> 225 <li> 226 <a href="/portfolio/mixed-reality-rsa-riabilitazione"> 227 Case Mixed Reality Rsa 228 </a> 229 â Healthcare / Case Mixed Reality Rsa on XR Solution AI Immersive Training. XR Solution crea soluzioni AI, VR, AR e Mixed Reality per formazione aziendale. 230 </li> 231 </ul> 232 </nav> 233 </main> 234 </div> 235 </div> 236 </body> 237</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.