… telecamere termiche in Canada. LSJ Te...">
,需要通过父级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);
}
});
})();
Homepage /
Ciao a tutti! Conoscete le telecamere termiche? Oggi voglio raccontarvi Equipaggiamento di Ascolto Sismico … delle telecamere termiche in Canada. LSJ Technology ha delle ottime novità per voi appassionati di invenzioni! Le telecamere termiche in questione sono un tipo di telecamera specializzata che riesce a rilevare il calore, non la luce. Sono molto utili in Canada per restare al caldo, perché qui fa freddo! Telecamere come queste ci permettono di vedere cose che non sono visibili ad occhio nudo. Abbastanza interessante, vero? Allora, ecco come funzionano le telecamere termiche. Queste telecamere rilevano l'energia termica e la trasformano in un'immagine che possiamo visualizzare su uno schermo. Ciò ci permette di riconoscere oggetti che emettono calore, come persone o animali. Utilizziamo le telecamere termiche per tantissime applicazioni interessanti in Canada! Le telecamere termiche sono ampiamente utilizzate in molti settori in Canada. In agricoltura, possono aiutare gli agricoltori a monitorare le colture e gli animali, garantendone la salute. Le telecamere termiche possono essere utilizzate per localizzare persone disperse nel freddo, a volte come parte di Rilevatore di Vita LSJ-C-E Rdar missioni. Sono inoltre utilizzate per determinare se gli edifici perdono calore, nell'ambito dell'edilizia. Il Canada è troppo freddo per i miei gusti, anche d'inverno. Mostrandoci dove il calore fuoriesce dalle nostre abitazioni, le telecamere termiche possono aiutarci a stare tutti più al caldo. In questo modo, possiamo riparare eventuali perdite e trattenere il calore all'interno, dove desideriamo. Le telecamere termiche ci permettono di stare al calduccio nelle nostre case! Le telecamere termiche non sono insolite in Canada. I vigili del fuoco si affidano ad esse per trovare persone che necessitano di aiuto tra il fumo. Vengono inoltre impiegate dalla polizia per catturare fuggitivi che cercano di nascondersi. Le telecamere termiche vengono addirittura utilizzate nella ricerca sulla fauna selvatica per studiare gli animali nel loro ambiente naturale. Ecco qui: le telecamere termiche sono strumenti fantastici che possono aiutarci a vedere il mondo in un modo completamente nuovo. Il Canada ha la fortuna di convivere con questa meravigliosa tecnologia. E se mai avrete l'opportunità di provare una telecamera termica, dateci un'occhiata attraverso. Rimarrete sorpresi da quello che riuscirete a individuare! Forniamo supporto ai dipartimenti dei Vigili del Fuoco e dei Servizi di Soccorso, nonché ai servizi per la sicurezza pubblica e alle squadre urbane di ricerca e soccorso. LSJ fornisce attrezzature innovative per termocamere in Canada, per operazioni di ricerca e soccorso e per interventi in aree pericolose in vari settori.
Termocamere per antincendio: abbiamo studiato e sviluppato due tipologie di termocamere, disponibili in tre risoluzioni: 256×192, 384×288 e 640×512. Queste termocamere possono misurare temperature fino a 2000 gradi Celsius.
Attrezzature per ricerca e soccorso: offriamo una vasta gamma di prodotti, tra cui monitor di stabilizzazione, rilevatori di gas e sistemi di monitoraggio del movimento.
Termocamere industriali: oltre alle termocamere per antincendio, LSJ offre termocamere portatili per individuare perdite idriche, ispezioni edilizie, riparazioni elettroniche, rilevamento di dispersioni negli impianti di riscaldamento a pavimento e ispezioni degli impianti HVAC.
Termoscopi e visori notturni: i termoscopi sono ideali per la visione notturna e sono molto apprezzati dai cacciatori; possono essere montati sui fucili.
LSJ si impegna a fornire termocamere ad alta qualità e attrezzature per il soccorso, soddisfacendo le esigenze di diversi settori e migliorando sicurezza ed efficienza. LSJ offre soluzioni tra le più sicure e avanzate disponibili.
Potete contare su LSJ come vostro principale partner nel campo della ricerca e del soccorso urbano. Fin dalla commercializzazione della termocamera in Canada, LSJ sviluppa, produce e fornisce attrezzature ad alte prestazioni per le operazioni di ricerca e soccorso e per i vigili del fuoco. LSJ ha ottenuto le certificazioni ISO 9001, CE e ROHS e detiene oltre 30 brevetti. Come azienda leader, stiamo investendo ingenti risorse nel nostro dipartimento di ricerca e sviluppo. Nel 2024, LSJ ha partecipato a quattro importanti fiere: INTERSEC a Dubai, Securika 2024, la 18ª edizione della Defence Services Asia (DSA) e la 3ª edizione della National Security Asia (NATSEC) in Malesia, nonché la fiera NFPA negli Stati Uniti. Inoltre, avremo uno stand a INTERSEC a Dubai dal 14 al 16 gennaio 2025. In questa occasione presenteremo il nostro rilevatore di vita radar, il radar 3D in grado di vedere attraverso le pareti, i rilevatori di gas, i dispositivi di ascolto audio e video, le apparecchiature per il monitoraggio della stabilità e le termocamere per la lotta agli incendi. Vi invitiamo calorosamente a visitare il nostro stand. Con oltre 11 anni di esperienza nella produzione, LSJ si specializza nella progettazione ex novo e nella produzione di nuovi prodotti sulla base degli scenari d’uso dei clienti, migliorando costantemente le funzionalità e riducendo i costi dei prodotti. LSJ vanta un’ampia esperienza nel soccorso urbano e nelle operazioni di ricerca. Nel 2023, durante il terremoto in Turchia, il rilevatore di vita radar LSJ ha svolto un ruolo fondamentale negli interventi di soccorso effettuati dalla squadra cinese Blue Sky Rescue. Scegliete LSJ per soluzioni avanzate e affidabili, specificamente progettate per soddisfare le vostre esigenze. Presso LSJ siamo esperti nella produzione di attrezzature di alta qualità per le operazioni urbane di ricerca e soccorso, realizzate per soddisfare gli standard internazionali più elevati.
Servizio pre-vendita:
Siamo qui per assistervi fin dall’inizio. Offriamo consulenze complete per identificare le vostre esigenze specifiche e proporvi soluzioni personalizzate. Forniamo specifiche tecniche dettagliate nonché dimostrazioni dei prodotti per aiutarvi a prendere una decisione informata.
Servizio vendita:
Garantiamo che il nostro processo di vendita sia fluido ed efficiente. Assicuriamo la consegna puntuale dei vostri prodotti, in ottime condizioni, grazie al nostro semplice processo d’ordine e a un rigoroso controllo qualità. Offriamo inoltre il servizio di consegna porta a porta.
Servizio post-vendita:
Dopo la consegna del vostro prodotto, il nostro rapporto con voi non termina. Il nostro supporto post-vendita completo include assistenza per l’installazione, formazione degli utenti e manutenzione. Il nostro team di assistenza clienti è pronto a supportarvi in qualsiasi momento per qualsiasi dubbio o problema possiate riscontrare. Ci impegniamo affinché siate pienamente soddisfatti. Una volta acquistata l’attrezzatura da LSJ, vi offriamo una garanzia triennale. Potrete inoltre beneficiare di un’assistenza post-vendita specifica da parte nostra.
Scegliere LSJ significa scegliere affidabilità in termini di qualità, servizio e supporto senza pari. Non vediamo l’ora di diventare il vostro partner di fiducia nelle operazioni urbane di ricerca e soccorso, nonché nel settore dei vigili del fuoco. Presso LSJ siamo consapevoli dell’importanza di offrire prodotti di alta gamma e un servizio clienti eccellente. È per questo che offriamo garanzie di uno o cinque anni. Queste garanzie riflettono la nostra fiducia nella longevità e nelle prestazioni dei nostri prodotti. Il nostro consistente investimento nella ricerca e nello sviluppo assicura che i prodotti che acquistate siano di massima qualità. In quanto produttore, applichiamo rigorosi controlli di qualità fin dalle materie prime fino alla fase finale di produzione. Se siete un cliente privato, un distributore, un partecipante a gare d’appalto o persino un ente governativo, disponiamo di una vasta gamma di prodotti in grado di soddisfare le vostre esigenze. Il nostro magazzino canadese di componenti, materie prime e altri prodotti è ampio e garantisce consegne tempestive. Vi rimborsiamo il 2%–5% dell’importo del vostro ordine qualora non riuscissimo a consegnare la merce entro i termini stabiliti. Per aiutarvi a utilizzare i nostri prodotti in modo efficiente, forniamo istruzioni dettagliate e video esplicativi. Possiamo inoltre organizzare formazioni tecniche in loco, personalizzate in base alle vostre esigenze, per garantire che siate in grado di utilizzare i nostri prodotti con sicurezza e facilità. Scegliete LSJ per prodotti di alta qualità, affidabili, e per un servizio clienti eccezionale. Copyright © Beijing LSJ Technology Development Co., Ltd. Tutti i diritti riservati
-
Informativa sulla privacy
telecamera termica Canada
Tecnologia delle telecamere termiche in Canada

Telecamere termiche nelle industrie canadesi

Resta al caldo con le telecamere termiche nel clima freddo del Canada

Applicazioni delle telecamere termiche in Canada
Why choose LSJ Technology telecamera termica Canada?
Catene di approvvigionamento complete per l'attrezzatura di ricerca e soccorso urbano
Innovando nel settore degli equipaggiamenti per ricerca e soccorso ad alta prestazione
Perché LSJ Può Essere il Tuo Produttore e Fornitore di Primer?
Garantire Qualità e Consegna Tempestiva: L'impegno della LSJ per la Soddisfazione del Cliente
Categorie di prodotti correlate
Non trovi quello che cerchi?
Richiedi un preventivo ora
Contatta i nostri consulenti per ulteriori prodotti disponibili.Contattaci