? Laten we beginnen met verkennen...">
,需要通过父级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);
}
});
})();
Bent u klaar om de duisternis in te gaan en verborgen geheimen te onthullen met een magisch instrument dat bekendstaat als een handhoudbare thermische camera ? Laten we samen de fascinerende wereld van de technologie ontdekken met LSJ Technology! Stel je voor dat je in het donker kunt zien, net als een superheld! Dankzij een handthermische camera van LSJ Technology kan dat nu. En voilà: je hebt een slim apparaat dat warmteafgifte kan detecteren en die omzet naar heldere, kleurrijke beelden die je op een scherm kunt bekijken. Het kan worden gebruikt om donkere plaatsen te verkennen, verloren voorwerpen te zoeken, of zelfs om een klassiek spelletje te spelen in het donker. Het is alsof je zelf een superkracht hebt! Hebt u ooit gewenst dat u dingen zou kunnen zien die onmogelijk zijn met het blote oog? Met een handthermische imager van LSJ Technology infraroodcamera , kunt u meer ervaren dan ooit tevoren en opent u de deur naar mogelijkheden. Dit handige apparaat stelt u in staat om warmtebronnen te zien die meestal onzichtbaar zijn voor het blote oog, waardoor u de kans krijgt om te ontdekken waar uw verdwenen huisdier zich verstopt, warmbloedige dieren in het bos te volgen of zelfs gevaarlijke bronnen in uw buurt te vinden. Het is alsof u een speciaal paar bril heeft dat om hoeken heen kan kijken of dingen kan zien die anderen niet kunnen. Prioriteit nummer één is veiligheid, vooral bij het verkennen van nieuwe en/of potentieel gevaarlijke situaties. Blijf veilig en gezond, waar u ook gaat, met een handheld thermische camera van LSJ Technology. Dit product kan helpen om verborgen gevaren in het donker te detecteren en kan zelfs uw leven redden in noodsituaties; het zal een betrouwbare bewaker zijn van uw welzijn en eigendom, zowel voor u als voor uw familie. Het is alsof u een loyale, trouwe metgezel hebt die op u let en u beschermt tegen gevaar. Bent u ooit gefascineerd geweest door het oplossen van mysteries zoals een professional? Met een thermische camera van LSJ Technology , kunt u de verborgen gevaren ontdekken en uw vrienden en familie beschermen tegen rampen. Dit apparaat is ontworpen voor optimale detectie van temperatuurverschillen en mogelijke gevaren in uw omgeving. Of u nu kampeert, een politieonderzoek uitvoert of gewoon verstoppertje speelt, dit elektronische apparaat kan uw opsporings- en lokaliseringswerk aanzienlijk versnellen. Het is verbazingwekkend wat technologie kan doen om ons leven te veranderen en alles mogelijk te maken. De handbediende warmtebeeldcamera van LSJ Technologies geeft de gewone gebruiker toegang tot geavanceerde technologieën, binnen handbereik. Dit apparaat, gehuisvest in een compacte behuizing van ongeveer 400 g, levert uitzonderlijke beelden, zelfs bij weinig licht, en is uitgerust met een 1 inch type 20,1-megapixel hooggevoelige CMOS-sensor, een ultragroothoekobjectief van 24 mm × 17 mm (equivalent aan 35 mm film), een optische 4,2x zoom met hoge vergroting en een 3,0 inch capacitief touchscreen LCD. Of u nu een nieuwsgierige avonturier bent, een veiligheidsbewuste held, een jonge Einstein of iemand van elke leeftijd die de beperkingen van het gemiddelde weigert te accepteren: er is er één voor u! Bij LSJ zijn wij experts in de productie van hoogwaardige uitrusting voor stedelijke zoek- en reddingsoperaties, ontworpen om te voldoen aan de strengste internationale normen.
Voorverkoopdienst:
Wij staan u vanaf het begin ter zijde. Wij bieden uitgebreide consultaties om uw behoeften volledig te begrijpen en passende oplossingen te leveren. Daarnaast bieden wij productdemonstraties met gedetailleerde technische specificaties, zodat u alle benodigde informatie hebt om een weloverwogen beslissing te nemen.
Verkoopdienst:
Tijdens het verkoopproces garanderen wij een gebruikservaring met een handbediende thermische camera. Dankzij ons geautomatiseerd ordersysteem en een strenge kwaliteitscontrole zorgen wij ervoor dat uw producten op tijd en in perfecte staat aankomen. Wij ondersteunen ook levering op locatie (deur-tot-deur).
Naservice:
Nadat u uw goederen heeft ontvangen, eindigt onze samenwerking met u niet. Onze uitgebreide naservice omvat ondersteuning bij installatie, gebruikerstraining en onderhoud. Onze klantenserviceafdeling is altijd bereikbaar om eventuele vragen of bezorgdheden te bespreken en uw volledige tevredenheid te waarborgen. Zodra u uitrusting van LSJ koopt, verstrekken wij een garantie van drie jaar; u kunt specifieke naservices bij ons afroepen.
De keuze voor LSJ is de keuze voor vertrouwen, kwaliteit en ongeëvenaarde ondersteuning. Wij kijken ernaar uit om uw partner te worden in stedelijke zoek- en reddingsoperaties, evenals bij brandweeractiviteiten. Wij van LSJ zijn ons ervan bewust hoe belangrijk het is om onze klanten kwaliteitsproducten en uitzonderlijke service te bieden. Wij bieden een garantie van één of vijf jaar om ons vertrouwen in de duurzaamheid en prestaties van onze producten te tonen. Wij zijn gespecialiseerd in handbediende thermische beeldvormers en investeren in onderzoek en ontwikkeling om ervoor te zorgen dat onze producten voldoen aan de hoogste normen. Als fabrikant hanteren wij strenge kwaliteitscontroleprocessen, van grondstoffen tot eindproductie. Wij bieden een breed scala aan producten die aan de behoeften van iedereen voldoen. Onze voorraad grondstoffen, componenten en andere producten is voldoende om snelle levering te garanderen. Indien wij uw bestelling niet op het door u gewenste tijdstip kunnen leveren, vergoeden wij u tot 5% van het bestelbedrag. Om u te helpen onze producten optimaal te gebruiken, bieden wij gedetailleerde instructievideo’s. Daarnaast kunnen wij ons technische team op locatie laten komen voor specifiek op uw behoeften afgestemde instructie, zodat u onze producten met vertrouwen en gemak kunt inzetten. Kies LSJ voor betrouwbare, hoogwaardige producten en uitstekende klantenservice. Wij bieden ondersteuning aan brandweer- en reddingsdiensten, evenals aan openbare veiligheidsdiensten en stedelijke reddingsteams. LSJ levert innovatieve apparatuur, waaronder handbediende thermische camera’s, voor zoek- en reddingsoperaties en werkzaamheden in gevaarlijke omgevingen binnen diverse industrieën.
Thermische brandweercamera’s: Wij hebben twee typen thermische camera’s onderzocht en ontwikkeld. Deze zijn verkrijgbaar in drie resolutieopties: 256×192, 384×288 en 640×512. Deze camera’s kunnen temperaturen meten tot wel 2000 graden Celsius.
Zoek- en reddingsapparatuur: Wij leveren een reeks producten, waaronder stabilisatiemonitors, gasdetectoren en bewegingsbewakingsystemen.
Industriële thermische camera’s: Naast thermische camera’s voor brandweerdoeleinden biedt LSJ ook handbediende thermische camera’s voor het opsporen van lekkages bij waterinstallaties en gebouwinspecties, evenals voor elektronisch herstel, detectie van warmteverlies bij vloerverwarming en inspectie van HVAC-systemen.
Thermische vizieren / nachtzichtvizieren: Deze zijn ideaal voor nachtzicht en populair onder jagers. Ze kunnen worden gemonteerd op geweren.
LSJ is toegewijd aan het leveren van hoogwaardige thermische beeldvormings- en reddingsapparatuur om te voldoen aan de eisen van diverse sectoren, waardoor veiligheid en efficiëntie worden verhoogd. LSJ biedt de meest veilige en geavanceerde oplossingen.
U kunt LSJ vertrouwen als uw voornaamste partner op het gebied van stedelijke zoek- en reddingsoperaties. Sinds 2013 ontwikkelt LSJ, produceert en levert handheld thermische beeldvormers en reddings- en brandweerequipment. LSJ is gecertificeerd door ISO9001, CE, ROHS en MSDS en heeft meer dan 30 patenten ontvangen. Als een leidende onderneming steken we veel geld in ons ontwerpen en onderzoeksteam. LSJ was deelnemer aan vier belangrijke evenementen in 2024: INTERSEC, Securika, het 18e Defence Services Asia en het 3e National Security Asia in Maleisië en NFPA in de VS. In 2025 zijn we ingeschreven om deel te nemen aan INTERSEC 2025, dat plaatsvindt in Dubai van 14 tot en met 16 januari. We zullen thermische brandweercamera's tonen, naast audio- en video-opsporingsapparatuur, gasdetectie 3D-radar en andere producten. We nodigen u uit om langs onze stand te komen. Met 11 jaar ervaring in de productie specialiseert LSJ zich in het herschikken en produceren van nieuwe producten gebaseerd op klantensituaties, waarbij we continu functionaliteiten verbeteren en productkosten verlagen. LSJ heeft ook uitgebreide ervaring op het gebied van stadsonderzoek en -redding. Tijdens de aardbeving in Turkije in 2023 was LSJ’s radarlevensdetector cruciaal voor de reddingsinspanningen van het Chinese Blue Sky Rescue Team. Kies voor LSJ om de nieuwste technologie te krijgen die specifiek is afgestemd op uw behoeften. Copyright © Beijing LSJ Technology Development Co., Ltd. Alle rechten voorbehouden
-
Privacybeleid
handhoudbare thermische camera
Verbeter uw zicht met een draagbaar thermische beeldvormingsapparaat

Blijf veilig en beschermd met een handthermische imager

Ontdek verborgen bedreigingen gemakkelijk met een thermische beeldcamera

Ervaar geavanceerde technologie in de palm van uw hand met een handthermische imager
Why choose LSJ Technology handhoudbare thermische camera?
Waarom kan LSJ uw primaire fabrikant en leverancier zijn?
Kwaliteit en punctuele levering waarborgen: de toewijding van LSJ aan klanttevredenheid
Een volledige keten voor het leveren van uitrusting voor stadsonderzoek en -redding
Innovatieve hoogwaardige zoek- en reddingsapparatuur fabrikant
Gerelateerde productcategorieën
Niet vinden wat u zoekt?
Vraag nu een offerte aan
Neem contact op met onze consultants voor beschikbare productenNEEM CONTACT OP