handheld thermische imaging (afbeelding 1...">
,需要通过父级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 /
Wil je weten hoe warm iets is zonder er te dichtbij te komen? Dan komt een eenvoudig, redelijk goedkoop gereedschap — de draagbare thermische beeldvorming ( Figuur 1 ) dat in dit artikel wordt voorgesteld — permanent van pas. De Coole Gadgets die je Helpen Temperatuursverschillen te Zien en Ze laten je weten wat heet of koud is zonder ze aan te raken. Het klinkt alsof het uit een sci-film komt, maar de waarheid is dat deze technologie bestaat en op verschillende manieren kan worden toegepast! Je kunt ze op duizend manieren gebruiken, zoals controleren of je voedsel de juiste temperatuur heeft of isolatiemateriaal ergens achter meubels vinden. Ze vertellen je ook of je motor oververhit is! Een extra belangrijk voordeel dat je kunt genieten als je investeert in een technologie zoals deze, is de compacte en lichte ontwerpvorm die veel van deze handgehouden thermische beeldvormingsgereedschappen hebben. Dit betekent dat je deze overal mee naartoe kunt nemen zonder problemen. Of je nu thuis bent of onderweg, dit apparaat is klein genoeg om gemakkelijk mee te nemen en bloeddruk te monitoren. Verbluffende thermische scanfuncties in handhoudbare thermische beeldapparaten. Infraroodthermografie: Het laat de camera temperatuursverschillen op grote afstand detecteren. Niets minder dan bijna röntgenvisie, terwijl je de wereld en alles eromheen ziet veranderen in kleur, van warm rood naar geel/groen en dan koud blauw. ETW scannen met infraroodlicht wordt mogelijk gemaakt door sensoren, namelijk ASpatial X. Dit is het soort licht dat we krijgen van warme of koude objecten. Deze sensoren registreren het licht en creëren een beeld op een scherm voor ons. Het is behoorlijk amusant hoe technologie in staat is om dingen te onthullen die anders onzichtbaar zouden zijn, zelfs voor het blote oog. De draagbaarheid van een handhante thermal imaging apparaat is een van de grootste voordelen. Het is ook belachelijk eenvoudig — je richt het ding gewoon op wat je wilt meten, en binnen een seconde of zo kun je de temperatuur zien. Dat betekent gewoon dat je niet hoeft te wachten tot een half uur — voor het hete OF koude water er is! Ze vormen een praktisch onderdeel van koken thuis. Temperatuur — waarschijnlijk het nuttigste gereedschap bij het koken, dit is hoe je weet dat je voedsel perfect is uitgekomen. Maar dit kleine apparaat kan ook andere dingen doen, zoals kijken hoe warm je koelkast is of waar hitte mogelijk ontsnapt in je huis. Wij leveren diensten aan brandweer- en reddingsdiensten, handbediende thermische beeldvormingsapparatuur, stedelijke zoek- en reddingsteams en diverse legermachten. LSJ levert innovatieve apparatuur voor het bestrijden van branden, het uitvoeren van zoek- en reddingsoperaties en het werken in explosiegevaarlijke omgevingen binnen diverse industrieën. Thermische brandweercamera's. Wij hebben twee soorten thermische camera's ontworpen en onderzocht met drie verschillende resoluties. Deze camera's kunnen temperaturen meten tot 2000 °C. Zoek- en reddingsapparatuur: Wij bieden diverse producten aan, waaronder gassensoren, stabiliteitsmonitors en bewegingsbewakingsystemen. Industriële thermische camera's: LSJ levert thermische camera's die niet alleen geschikt zijn voor brandbestrijding, maar ook worden gebruikt voor gebouwinspecties, elektronisch onderhoud, detectie van waterlekkages en inspectie van HVAC-systemen. Thermische vizieren: Nachtzichtvizieren zijn ideaal voor zichtbaarheid 's nachts. Ze zijn ook zeer populair bij jagers. Ze kunnen eenvoudig op geweren worden gemonteerd. LSJ biedt hoogwaardige thermische reddings- en beeldvormingsapparatuur die voldoet aan de eisen van verschillende sectoren en de veiligheid en effectiviteit van uw bedrijf verbetert. Kies LSJ voor de meest geavanceerde en betrouwbare oplossingen. Vertrouw erop dat LSJ uw eerste partner is voor stedelijke zoek- en reddingsoperaties. LSJ is een pionier op het gebied van de ontwikkeling van handbediende thermische beeldvormingsapparatuur voor stedelijke zoek- en reddingsoperaties die voldoet aan internationale normen.
Pre-sales service:
Ons team van specialisten staat u vanaf het begin graag ter zijde. Wij bieden uitgebreide consultaties om uw behoeften volledig te begrijpen en op maat gemaakte oplossingen te ontwikkelen. Wij verstrekken gedetailleerde productspecificaties en een demonstratie om u te ondersteunen bij het nemen van een weloverwogen beslissing.
Sales service:
Wij zorgen ervoor dat het gehele verkoopproces naadloos en efficiënt verloopt. Dankzij ons gestroomlijnd ordersysteem en strenge kwaliteitscontrole garanderen wij dat uw producten op tijd en in perfecte staat bij u aankomen. Wij bieden ook deur-tot-deurlevering.
After-sales service:
Onze samenwerking met u eindigt niet bij de levering van onze producten. Onze uitgebreide after-salesdiensten omvatten installatieondersteuning, gebruikerstraining en onderhoud. Ons klantenserviceteam staat klaar om u te helpen bij eventuele problemen of vragen en om ervoor te zorgen dat u volledig tevreden bent. Bij aankoop van apparatuur van LSJ bieden wij een garantie van drie jaar; u kunt specifieke after-salesdiensten bij ons verkrijgen.
Wanneer u kiest voor LSJ, kiest u voor kwaliteit, betrouwbaarheid en ongeëvenaarde service. Wij kijken ernaar uit om uw partner te worden op het gebied van stedelijke zoek- en reddingsoperaties en brandbestrijding. Sinds 2013 ontwikkelt, produceert en levert het handbediende thermische beeldapparaat hoogwaardige apparatuur voor zoek- en reddingsoperaties en uitrusting voor brandweerlieden. LSJ heeft certificeringen ontvangen voor ISO9001, CE en ROHS. Het bedrijf heeft ook meer dan 30 octrooien. We investeren zwaar in onze afdeling onderzoek en ontwerp, aangezien we een toonaangevend bedrijf zijn. In 2024 nam LSJ deel aan vier grote beurzen: INTERSEC in Dubai, Securika 2024, de 18e Defence Services Asia (DSA) en de 3e National Security Asia (NATSEC) in Maleisië, en NFPA in de Verenigde Staten. We zijn ook ingeschreven voor INTERSEC in Dubai van 14 tot en met 16 januari 2025. Daar zullen we onze radar live-detector presenteren, een 3D-radar die muren kan detecteren, evenals gasdetectoren, audio- en videoluisterapparatuur, stabiliteitsbewakingsapparatuur en thermische camera’s voor brandbestrijding. Wij nodigen u van harte uit om ons stand te bezoeken. LSJ heeft 11 jaar ervaring in de productie. Het bedrijf is gespecialiseerd in het ontwikkelen en bouwen van nieuwe producten op basis van de gebruiksscenario’s van klanten. Daarnaast blijft LSJ de capaciteiten van haar producten verbeteren en de kosten verlagen. LSJ heeft ook uitgebreide ervaring op het gebied van stedelijke zoek- en reddingsoperaties. Zo speelde de LSJ-levensdetectorradar bijvoorbeeld een cruciale rol bij de reddingsinspanningen van het Chinese Blue Sky Rescue Team tijdens de aardbeving in Turkije in 2023. Kies LSJ voor geavanceerde, betrouwbare oplossingen die specifiek zijn afgestemd op uw behoeften. Wij van LSJ beseffen hoe handzaam een thermische beeldvormingsapparaat is om onze klanten superieure producten en uitstekende service te bieden. Daarom bieden wij garanties die één of vijf jaar gelden. Dit weerspiegelt ons vertrouwen in de kwaliteit van onze producten. Wij investeren zwaar in onderzoek en ontwikkeling om ervoor te zorgen dat onze producten voldoen aan de hoogste normen. Als fabrikant hanteren wij strenge kwaliteitscontroleprocessen, vanaf het begin bij de grondstoffen tot aan de productie. Wij bieden een breed scala aan producten die aan de behoeften van elke gebruiker voldoen. Onze voorraad grondstoffen, componenten en andere producten is voldoende om te garanderen dat u uw bestelling op tijd ontvangt. Indien wij niet op tijd kunnen leveren, beloven wij onze klanten een terugbetaling van 2% tot 5% van de aankoopprijs. Om u te ondersteunen bij het gebruik van onze producten, verstrekken wij uitgebreide instructievideo’s. Bovendien kunnen wij onze technische medewerkers op locatie laten verschijnen om specifiek op uw behoeften afgestemde instructie te geven, zodat u onze producten met vertrouwen en gemak kunt gebruiken. Kies LSJ voor betrouwbare, hoogwaardige producten en uitstekende klantenservice. Copyright © Beijing LSJ Technology Development Co., Ltd. Alle rechten voorbehouden
-
Privacybeleid
handbediende thermische beeldvormingsapparaat
Mobiel en nauwkeurig temperatuuronderzoek

Hittegevoelige technologie in de palm van je hand

Verander je inspecties met handbedienbare thermische imaging

Snelle en efficiënte temperatuurschatting overal, wanneer dan ook
Why choose LSJ Technology handbediende thermische beeldvormingsapparaat?
Een volledige keten voor het leveren van uitrusting voor stadsonderzoek en -redding
Waarom kan LSJ uw primaire fabrikant en leverancier zijn?
Innovatieve hoogwaardige zoek- en reddingsapparatuur fabrikant
Kwaliteit en punctuele levering waarborgen: de toewijding van LSJ aan klanttevredenheid
Gerelateerde productcategorieën
Kan je niet vinden wat je zoekt?
Vraag nu een offerte aan
Neem contact op met onze adviseurs voor meer beschikbare producten.Neem contact op