PageSourceSearch

https://xrsolution.com/chi-siamo

html xrsolution.com collected 2026-10-09 21:54:55 UTC 13,022 bytes, 237 lines download raw bytes

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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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.