onderzoeksliggend<

...">

,需要通过父级DOM结构来判断 */ var trackActionPhone = function (node) { var nodeInnerText = node.innerText || ''; if (!limitRegLength(nodeInnerText)) return; var nodeText = trimText(nodeInnerText); if (nodeText.length < 5 || nodeText.length > 20) return false; var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click'; var str = trimText(node.href || node.innerHTML || ''); if (phoneReg.test(str) && numUseReg.test(str)) { _paq.push(['trackEvent', type, 'phone', nodeText]); return true; } /** 排查父级嵌套非标签场景,并且对dom的正则校验做一个性能兜底,通过控制innerText的长度,来确保正则的性能 */ var fatherText = trimText(node.parentNode.innerText || ''); if (fatherText.length < 5 || fatherText.length > 20) return false; var fatherDom = trimText(node.parentNode.innerHTML || ''); if (phoneReg.test(fatherDom) && numUseReg.test(fatherDom)) { _paq.push(['trackEvent', type, 'phone', nodeText]); return true; } return false; }; window.addEventListener('click', function (e) { var node = e.target; /** 社媒点击 */ var appName = ''; var getAppAriaLabel = node.ariaLabel || node.parentNode.ariaLabel || ''; if (mediaList.includes(getAppAriaLabel.toLowerCase())) { appName = getAppAriaLabel; } if ( !appName && node.nodeName && node.nodeName.toLowerCase() === 'a' ) { appName = getMediaName(node.href) || getMediaName(node.alt); } if ( !appName && node.nodeName && node.nodeName.toLowerCase() === 'img' ) { appName = getMediaName(node.alt) || getMediaName(node.src); } if ( !appName && node.nodeName && node.nodeName.toLowerCase() === 'i' ) { appName = getMediaName(node.className); } if (appName) { _paq.push(['trackEvent', 'click', 'contactApp', appName]); return; } /** 联系方式点击 */ if (trackActionPhone(node, 'click')) return; if (node.nodeName && node.nodeName.toLowerCase() === 'a') { var val = node.href; if (!limitRegLength(val)) return; if (emailReg.test(val)) { _paq.push(['trackEvent', 'click', 'email', val]); return; } } if (node.nodeName && node.nodeName.toLowerCase() === 'i') { var val = node.className; var content = node.parentNode.href || ''; if (val.includes('email')) { _paq.push(['trackEvent', 'click', 'email', content]); return; } } var nodeChildList = node.childNodes; for (var i = 0; i < nodeChildList.length; i++) { if (nodeChildList[i].nodeType !== 3) continue; var val = nodeChildList[i].textContent.replace(/\s?:?/g, ''); if (!limitRegLength(val)) continue; if (emailReg.test(val)) { _paq.push(['trackEvent', 'click', 'email', val]); return; } } trackNumberData(node); }); window.addEventListener('copy', function (e) { if (trackActionPhone(e.target, 'copy')) return; var text = e.target.textContent; if (!text) return; var val = text.replace(/\s:?/g, ''); if (!limitRegLength(val)) return; if (emailReg.test(val)) { _paq.push(['trackEvent', 'copy', 'email', val]); return; } trackNumberData(e.target); }); } trackContactInit(); /** * 基于custom_inquiry_form.js 以及 form.js 对于询盘表单提交的实现,来反推询盘表单的input标签触发,用来收集意向客户 * 1. 缓存的KEY:TRACK_INPUT_ID_MTM_00; * 2. 缓存策略 - lockTrackInput:单个页面内,10分钟内,不重复上报 */ function trackActionInput() { const CACHE_KEY = 'TRACK_INPUT_ID_MTM_00'; const pathName = window.location.hostname + window.location.pathname; var lockTrackInput = function () { try { const lastCacheData = localStorage.getItem(CACHE_KEY); if (!lastCacheData) return false; const cacheData = JSON.parse(lastCacheData); const cacheTime = cacheData[pathName]; if (!cacheTime) return false; return Date.now() - cacheTime < 1000 * 60 * 10; // 10分钟内,不重复上报 } catch (error) { console.error('lockTrackInput Error', error); return false; } }; var setInputTrackId = function () { try { const curCacheData = localStorage.getItem(CACHE_KEY); if (curCacheData) { const cacheData = JSON.parse(curCacheData); cacheData[pathName] = Date.now(); localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData)); return; } const cacheData = { [pathName]: Date.now(), }; localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData)); } catch (error) { console.error('setInputTrackId Error', error); } }; var getInputDom = function (initDom) { var ele = initDom; while (ele) { /** * isWebSiteForm 是站点的表单 * isChatWindowForm 是聊天窗口的表单 */ /** 旧模板表单 */ var isWebSiteForm = !!( /crm-form/i.test(ele.className) && ele.querySelector('form') ); /** 1:新模板自定义表单、2:Get a Quote 弹框表单 */ var isWebSiteFormNew = !!( /inquiry/i.test(ele.className) && ele.querySelector('form') ); if (isWebSiteForm || isWebSiteFormNew) { _paq.push(['trackEvent', 'formInquiry', 'formInput', 'page']); setInputTrackId(); return; } /** Mkt会话触达-聊天弹框的表单输入: MKT由于是iframe嵌入,所以MKT的上报,会单独写到MKT-form代码上 */ var isInquiryChatForm = !!( /comp-form/i.test(ele.className) && ele.querySelector('form') ); if (isInquiryChatForm) { _paq.push(['trackEvent', 'formInquiry', 'formInput', 'chat']); setInputTrackId(); return; } /** 向上查找父节点 */ ele = ele.parentNode; } }; function initInputListener() { var inputUseDebounce = function (fn, delay) { var timer = null; var that = this; return function () { var args = Array.prototype.slice.call(arguments); if (timer) clearTimeout(timer); timer = setTimeout(function () { fn.apply(that, args); }, delay); }; }; var optimizeGetInputDom = inputUseDebounce(getInputDom, 300); window.addEventListener('input', function (e) { /** 如果已经上报过,则不再上报 */ if (lockTrackInput()) return; optimizeGetInputDom(e.target); }); } try { initInputListener(); } catch (error) { console.log('initInputListener Error', error); } } trackActionInput(); } /** 第三方消息上报:目前主要是针对全点托管会话;在msgCollect/index.js中调试,访问test.html */ function thirdMsgCollect() { /** 先检测是否是stayReal托管:如果stayReal脚本都没有,那么说明当前站点未开启stayReal会话托管 */ const scriptList = Array.prototype.slice.call( document.querySelectorAll('script'), ); const checkStayReal = () => !!scriptList.find((s) => s.src.includes('stayreal.xiaoman.cn')); if (!checkStayReal()) return; /** 缓存当前消息队列的最后一条消息id */ const CACHE_KEY = 'CACHE_KEY_MONITOR'; const setCache = (msgIndex) => { /** 对缓存KEY进行base64转码处理 */ const cacheMsgIndex = btoa(msgIndex); localStorage.setItem(CACHE_KEY, cacheMsgIndex); }; const getCache = () => { const cacheMsgIndex = localStorage.getItem(CACHE_KEY); if (cacheMsgIndex) return Number(atob(cacheMsgIndex)); return -1; }; /** 拉取最新msg列表 */ const pullMsgList = () => { const msgEleList = Array.prototype.slice.call( document.querySelectorAll('#chat-list li'), ); const msgIds = []; const msgMap = msgEleList.reduce((acc, item) => { const sendTime = item .querySelector('.message-data-time') .textContent.trim(); const sendContent = item.querySelector('.message').textContent.trim(); /** msg带有class:other-message的是访客消息,my-message的是客服消息 */ const isOtherMessage = item .querySelector('.message') .classList.contains('other-message'); const msgId = item.querySelector('.message').getAttribute('id'); const msgItemData = { msgId, user: isOtherMessage ? 'visitor' : 'official', time: sendTime, content: sendContent, }; msgIds.push(msgId); acc[msgId] = msgItemData; return acc; }, {}); return { ids: msgIds, dataMap: msgMap, }; }; /** 加密并上传消息数据 */ let ENCRYPT_KEY = 'de29f1aab63ab033'; let ENCRYPT_IV = 'b8d2badf875e76ac'; const baseUrl = 'https://cms.xiaoman.cn'; // var getEncryptConfig = function () { // const url = baseUrl + '/shop-api/innerApi/getKeyIv' // $.get( // url, // function (result) { // console.log('result', result) // if (Number(result.code) === 0 && result.data.key && result.data.iv) { // ENCRYPT_KEY = result.data.key // ENCRYPT_IV = result.data.iv // uploadMsgData() // } else { // /** 如果获取失败,则重试 */ // setTimeout(() => { // getEncryptConfig() // }, 1000) // } // }, // 'json' // ) // } // getEncryptConfig() const encryptMsg = function (msgData) { const enc = new TextEncoder(); // 转字节 const keyBytes = enc.encode(ENCRYPT_KEY); const ivBytes = enc.encode(ENCRYPT_IV); const plainBytes = enc.encode(msgData); // 导入密钥并加密 return crypto.subtle .importKey('raw', keyBytes, { name: 'AES-CBC' }, false, ['encrypt']) .then(function (cryptoKey) { return crypto.subtle.encrypt( { name: 'AES-CBC', iv: ivBytes }, cryptoKey, plainBytes, ); }) .then(function (encryptedBuffer) { // 转 base64 返回 return btoa( String.fromCharCode(...new Uint8Array(encryptedBuffer)), ); }) .catch((err) => { return Promise.reject(err); }); }; let uploadFlag = false; const uploadMsgData = function () { if (uploadFlag) return; uploadFlag = true; const { ids, dataMap } = pullMsgList(); let cacheMsgIndex = getCache(); const msgLen = ids.length; if (!msgLen) { // 消息DOM未挂载 || 消息DOM已挂载,但是消息列表为空 uploadFlag = false; return; } if (msgLen - 1 < cacheMsgIndex) { /** 针对站点挂后台一段时间,消息列表会自动塞入重复消息,导致消息有重复,刷新后又重置回正常消息列表,所以这里需要更新锚点下标 */ cacheMsgIndex = msgLen - 1; setCache(cacheMsgIndex); uploadFlag = false; return; } if (msgLen - 1 === cacheMsgIndex) { // 缓存的最后一次发送的消息ID是最后一条(说明当前消息均已经上报),则不跳过本地上报 uploadFlag = false; return; } const currentMsgIds = ids.slice(cacheMsgIndex + 1, msgLen); const currentMsgData = currentMsgIds.map((id) => dataMap[id]); const mtmId = window.matomo_site_id_cookie_key || ''; // 获取mtm会话id const msgBody = { mtmId, curl: window.location.href, msgList: currentMsgData, }; const msgBodyStr = JSON.stringify(msgBody); encryptMsg(msgBodyStr) .then(function (encryptedMsg) { console.log('encryptedMsg:', encryptedMsg, msgBodyStr); const url = baseUrl + '/shop-api/External/ListenSiteActiveStatus'; $.ajax({ type: 'POST', url, data: JSON.stringify({ d_v: encryptedMsg }), contentType: 'application/json', success: function (result) { if (Number(result.code) === 0) { // 更新消息队列 setCache(msgLen - 1); } uploadFlag = false; }, error: function (err) { console.error(err, '请求异常'); uploadFlag = false; }, }); }) .catch((err) => { console.error(err, '数据加密失败'); uploadFlag = false; }); }; /** 监控chat-list的DOM变更 */ const initChatListObserver = () => { // 需要监听的 DOM 节点 const target = document.getElementById('chat-list'); if (!target) return; // 回调函数 const callback = function (mutationsList, observer) { for (const mutation of mutationsList) { console.log('mutation', mutation); if (mutation.type === 'childList') { uploadMsgData(); } } }; // 配置 const config = { childList: true, // 监听子节点的增删 subtree: true, // 是否也监听后代节点 }; // 创建 observer const observer = new MutationObserver(callback); // 开始监听 observer.observe(target, config); }; let testCount = 30; let itv = null; const checkChatDom = () => !!document.querySelector('#vc-model'); const initTalkCheck = () => { itv = setTimeout(() => { console.log('checkChatDom', checkChatDom(), testCount); if (!checkChatDom() && testCount > 0) { testCount--; initTalkCheck(); return; } clearTimeout(itv); uploadMsgData(); initChatListObserver(); }, 1500); }; initTalkCheck(); } try { gtmTrack(); thirdMsgCollect(); console.log('inserted gtm code'); } catch (error) { console.error('gtmTrack Error', error); } }); })();

Alle categorieën

Automatische trappenlift voor stoelen

XIEHE MEDICAL Automatische stoellift voor trappen: Een gamechanger voor mensen met beperkte mobiliteit. Wij zijn verheugd om de XIEHE MEDICAL Automatische examinatiebank voor trappen, een baanbrekend product dat het leven verandert voor mensen die moeite hebben met het bewegen naar boven of beneden de trap. Deze geavanceerde technologie is ontworpen om mensen het grootst mogelijke gemak, veiligheid en vrijheid te bieden bij het reizen van de ene verdieping van een gebouw naar de andere. Met gebruik van de XIEHE MEDICAL Automatische gynaecologische bank voor trappen kunnen onze klanten gemakkelijk toegang krijgen tot de verschillende verdiepingen van een constructie zonder hulp van anderen. Onze automatische stoellift voor trappen is gebruiksvriendelijk en beschikt over een aantal unieke kenmerken die het tot een voordelig en veilig alternatief maken voor mensen met beperkte mobiliteit. Een comfortabele stoel, stevige voetsteun en veiligheidsriemen zijn essentiële onderdelen van de stoellift die zorgen voor de veiligheid van de gebruiker en een soepele overgang van de ene naar de andere kant van de trap. De bediening van de stoellift kan zowel oproep- als handbediend zijn en is uiterst gebruiksvriendelijk, waardoor onze klanten tussen verdiepingen kunnen verplaatsen met slechts één druk op de knop. Bovendien is de stoellift zo ontworpen dat deze zo min mogelijk ruimte inneemt op de trap, wat zorgt voor een fraaie en praktische uitstraling. De stoellift is uitgerust met sensoren die detecteren wanneer er iets de beweging van de lift blokkeert, en stopt de lift om schade of letsel te voorkomen.

Bovendien kan onze automatische stoellift voor trappen worden aangepast aan verschillende trapstijlen, inclusief rechte of gebogen trappen. Ons professionele team werkt nauw samen met elke klant om hun specifieke behoeften te bepalen en een op maat gemaakte oplossing te ontwikkelen die perfect past bij hun woning of gebouw. Dankzij onze toewijding aan kwaliteit en veiligheid, garandeert XIEHE MEDICAL dat elke automatische stoellift voor trappen van de hoogste kwaliteit is en zorgvuldig getest is op betrouwbaarheid en prestaties. De automatische stoellift voor trappen van XIEHE MEDICAL is een echte game-changer voor mensen met beperkte mobiliteit, omdat deze ongeëvenaarde efficiëntie en bescherming biedt bij het verplaatsen in een gebouw met meerdere verdiepingen. Met onze geavanceerde technologie en streven naar uitmuntendheid kunnen we met vertrouwen een product aanbieden dat de zelfstandigheid vergroot en de levenskwaliteit verbetert voor mensen met een mobiliteitsbeperking. Voor meer informatie over hoe onze automatische stoellift voor trappen uw ruimte kan veranderen en de toegankelijkheid voor iedereen kan verbeteren, neem dan nu contact met ons op.

Onze trapliften zijn vervaardigd uit hoogwaardige materialen en gebaseerd op modernste technologie om een soepele en geruisloze rit te garanderen. Ze zijn eenvoudig te installeren en volledig aanpasbaar aan elk trappenontwerp. Trapliften met een draagvermogen van tot 160 kg kunnen door een breed scala aan personen worden gebruikt. Dankzij groothandelsopties willen we onze producten beschikbaar maken voor een zo groot mogelijk publiek, zodat zoveel mogelijk mensen kunnen profiteren van het comfort en de vrijheid die onze trapliften bieden. Waar vindt u de beste prijzen voor automatische trapliften? Voor de beste prijzen op automatische trapliften bezoek XIEHE MEDICAL. Wij bieden betaalbare, hoogwaardige trapliften en leveren uitstekende service aan klanten die kwalitatief hoogstaande trapliften tegen een redelijke prijs wensen. U kunt onze trapliften aanschaffen via onze website, ons catalogus bekijken en vergelijken, en gemakkelijk een bestelling plaatsen. Onze trapliften zijn ook verkrijgbaar bij gespecialiseerde winkels en medische instellingen. Onze erkende dealers helpen u graag bij het bepalen van de ideale traplift voor uw behoeften en kunnen u ondersteunen bij de installatie. Of u nu online of persoonlijk wilt winkelen, u kunt erop vertrouwen dat XIEHE u een uitstekende prijs biedt op automatische trapliften voor trappen. Zijn automatische trapliften voor trappen echt het geld waard?

Investeren in een automatische stoellift voor trappen vervaardigd door XIEHE MEDICAL is uiteindelijk een uitstekende keuze. Bij ons is het verbeteren van de levenskwaliteit een fluitje van een cent. Onze stoelliften vormen een veilige en comfortabele manier voor personen met beperkte mobiliteit om van het ene niveau naar het andere te reizen, thuis of in diverse instellingen. Of u de lift nu laat installeren om zelf betere mobiliteit en onafhankelijkheid te genieten, of om uw dierbaren te laten profiteren van de aanschaf, het enige wat volgt is een aangenamere en comfortabelere dagelijks gebruik. Naast de directe verbetering van de levenskwaliteit, verhogen onze stoelliften de waarde van uw eigendom. Mocht u ooit besluiten uw huis te verkopen, dan zal het feit dat er al een stoellift aanwezig is het nog aantrekkelijker maken voor mogelijke kopers, met name voor mensen die ook last hebben van mobiliteitsproblemen. Kies zonder twijfel voor XIEHE MEDICAL en investeer in uw toekomstige veiligheid en comfort met onze duurzame en betrouwbare stoelliften.

Ontdek de voordelen van automatische stoelliften voor trappen

Voor mensen die moeite hebben met mobiliteit vanwege een handicap, fabrieksgarantie: aluminium, staal of koper toegankelijkheidsrampen en trappen. Of de stijging/verlaging plaatsvindt over langere trajecten of niet. Een hefdekstoel voor een automatische traplift kan echt een gewenste functie zijn. Ze bieden een veilige en comfortabele manier om trappen te nemen wanneer er geen hulp beschikbaar is. De stoelliften van XIEHE MEDICAL zijn ontworpen voor eenvoudig gebruik en betrouwbaarheid, zodat u met vertrouwen de verschillende verdiepingen van uw huis kunt bereiken. Voor personen die verzwakt zijn door leeftijd, letsel of handicap op welk moment dan ook in het leven, zijn handicaptrapliften – inclusief automatische stoelliften – praktische woningoplossingen.

 

Why choose XIEHE MEDICAL Automatische trappenlift voor stoelen?

Gerelateerde productcategorieën

Kan je niet vinden wat je zoekt?
Neem contact op met onze adviseurs voor meer beschikbare producten.

Vraag nu een offerte aan

Neem contact op