Gå til innhold
GEOFIXS NYE WEBSHOP ER HER - klikk her for å få informasjon om hvordan du som eksisterende Geofix-kunde kan få tilgang til din nettkonto.
GEOFIXS NYE WEBSHOP ER HER - klikk her for å få informasjon om hvordan du som eksisterende Geofix-kunde kan få tilgang til din nettkonto.

Drönarbåtar USV

USV betyder (Uncrewed Surface Vessels). En obemannad ytfarkost, obemannat ytfartyg eller obemannat ytfartyg (USV) som kallas för drönarbåt, drönarfartyg eller sjödrönare, är en båt eller ett fartyg som opererar på vattenytan utan besättning. USV:er fungerar med olika nivåer av autonomi, från fjärrkontroll till helt autonoma ytfordon (ASV)

Filter ( 0 )

eSurvey VE115

VE115 er et autonomt overflatefartøy – ubemannet overflatefartøy (USV) – utviklet for 3D-batymetriske undersøkelser , hydrologi, vannkvalitetsstudi...

Se alle detaljer

eSurvey VE158

VE158 er en Multi‑Purpose Surveying Unmanned Surface Vessel – fullt integrert for 3D-batymetriske undersøkelser og hydrologiske studier i elve...

Se alle detaljer
*/ (function () { window.dataLayer = window.dataLayer || []; const CONFIG = { CURRENCY: "SEK", // Lägg gärna till/justera selektorer om ditt tema använder andra element CHECKOUT_BUTTON_SELECTORS: [ 'button[name="checkout"]', 'input[name="checkout"]', 'form[action*="/checkout"] [type="submit"]', 'a[href*="/checkout"]' ] }; function fetchCart() { return fetch('/cart.js', { credentials: 'same-origin' }) .then(r => r.json()) .catch(() => null); } function mapItems(cart) { if (!cart || !Array.isArray(cart.items)) return []; return cart.items.map((it, idx) => ({ item_id: String(it.variant_id || it.id || it.sku || ''), item_name: it.product_title || it.title || '', item_brand: 'Geofix AB', item_variant: it.variant_title || '', price: (typeof it.final_price === 'number' ? it.final_price : it.price || 0) / 100, quantity: it.quantity || 1, index: idx + 1 })); } function totalValue(items) { return items.reduce((s, i) => s + (Number(i.price) || 0) * (Number(i.quantity) || 0), 0); } function isCheckoutClick(target) { if (!target) return false; // träff på definierade selektorer for (const sel of CONFIG.CHECKOUT_BUTTON_SELECTORS) { if (target.closest(sel)) return true; } // fallback: formulär som postar till /checkout const form = target.closest('form'); if (form && /\/checkout/i.test(form.action || '')) return true; return false; } // Lyssna brett i capture-fasen så vi hinner hämta vagnen innan redirect document.addEventListener('click', function (e) { const el = e.target; if (!isCheckoutClick(el)) return; // Hämta /cart.js och pusha begin_checkout snabbt innan sidan lämnas fetchCart().then(cart => { const items = mapItems(cart); const value = totalValue(items); window.dataLayer.push({ event: 'begin_checkout', ecommerce: { currency: CONFIG.CURRENCY, value: value, items: items } }); }); // Ingen preventDefault – låt redirect ske normalt }, true); // Extra säkerhet: lyssna även på submit (t.ex. enter-tryck i formulär) document.addEventListener('submit', function (e) { const form = e.target; if (!form) return; if (!/\/checkout/i.test(form.action || '')) return; fetchCart().then(cart => { const items = mapItems(cart); const value = totalValue(items); window.dataLayer.push({ event: 'begin_checkout', ecommerce: { currency: CONFIG.CURRENCY, value: value, items: items } }); }); }, true); })();