handheld thermal imaging (Figure 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);
}
});
})();
Tahanan /
Gusto malaman kung gaano kainit ang isang bagay nang hindi kinakailangang makapalapit nang sobra? Iyon ay kapanahon ng isang simpleng, medyo murang tool — ang handheld thermal imaging ( Figure 1 ) na ipinakilala sa artikulong ito — na maaaring gamitin tuwing kailangan. Ang Cool Gadgets na tumutulong sa'yo upang makita ang mga pagkakaiba ng temperatura at maaari nilang ipaalala kung ano ang mainit o malamig nang hindi mo sila hawakan. Parang galing sa isang sci-movie, ngunit ang totoo ay umiiral na ang teknolohiyang ito at maaaring gamitin sa maraming paraan! Maaari mong gamitin ito sa 1000 na paraan, tulad ng pagsusuri kung tama ang temperatura ng iyong pagkain o hanapin ang insulation-fluid sa ilalim ng mga furniture. Sisabihan din ka nila kung umaapi na ang iyong motor! Isang pangunahing benepisyo na maaari mong makamit kung mag-invest ka sa teknolohiya tulad nito ay ang kompaktong at maliit na disenyo ng marami sa mga handheld thermal imaging tool. Ang ibig sabihin nito ay maaari mong dalhin ang mga ito saan man nang walang anumang problema. Sa anomang lugar ka man, sa bahay o habang naglalakad, ang device na ito ay maliit na maaaring madala saan mang pwesto para sa pag-monitor ng presyon ng dugo. Asombrosong mga tampok ng thermal scanning sa handheld thermal imaging devices. Infrared Thermography: Nagpapahintulot ito sa kamera na makakuha ng temperatura na mga pagkakaiba mula sa malayo. Hindi bababa sa pagkakaroon ng x-ray vision siguro, habang nakikita mo ang mundo at lahat sa paligid ay paulit-ulit na baguhin ang kulay mula sa mainit na pula hanggang dilaw/berde at mula sa malamig na bughaw. Pinapayagan ng mga sensor, na ito ay ASpatial X, ang ETW scanning gamit ang infrared light. Ito ang uri ng liwanag na nakuha natin mula sa mainit o malamig na bagay. Nakikilala ng mga sensor ang liwanag at gumagawa ng isang imahe sa screen para sa amin. Napakalaking kulay na ang teknolohiya ay may kakayanang ipakita kung ano ang hindi madadaanan kung hindi man lamang para sa mata ng tao. Ang pagdala ng isang handheld thermal imaging device ay isa sa pinakamalaking benepisyo. Simpleng makita — puwede mong lang i-direct ang bagay sa kinalabasan ng iyong gusto na sukatin, at loob ng isang segundo o kaya ay makikita mo na ang temperatura niya. Ewan mo ba? Hindi mo na kailangang maghintay ng mahabang panahon—para dumating ang mainit O malamig na tubig! Sila ay isang praktikal na bahagi ng pagluluto sa iyong bahay. Temperatura — Maaaring ang pinakamahalagang kasangkapan kapag nagluluto, ganito mo malalaman na perpekto ang pagluluto ng iyong pagkain. Ngunit maaari rin itong gamitin para sa iba pang bagay, tulad ng tingnan kung gaano kalumigan ang iyong ref o kung saan nagagalaw ang init sa loob ng bahay mo. Nagbibigay kami ng mga serbisyo sa mga Kagawaran ng Sunog at Pagliligtas, mga portable na thermal imaging device, mga koponan ng urban search and rescue, at iba't ibang mga hukbong pandigma. Ang LSJ ay nagbibigay ng inobatibong kagamitan para sa pagpaparaos ng sunog, paggawa ng search and rescue, at pagtrabaho sa mga kapaligirang may panganib na pumutok sa iba't ibang industriya. Mga Thermal Camera para sa Pagpaparaos ng Sunog: Dinisenyo at pinag-aralan namin ang dalawang uri ng thermal camera na may tatlong magkakaibang resolusyon. Ang mga camera na ito ay kayang sukatin ang temperatura hanggang 2000. Mga Kagamitan para sa Search and Rescue: Nag-ooffer kami ng iba't ibang produkto, kabilang ang mga gas detector, stability monitor, at mga sistema ng pagsubaybay sa galaw. Mga Industrial Thermal Camera: Ang LSJ ay nagbibigay ng mga thermal camera na hindi lamang para sa pagpaparaos ng sunog, kundi ginagamit din sa inspeksyon ng gusali, pagre-repair ng electronic devices, deteksyon ng tubig na lumalabas, at inspeksyon ng HVAC system. Mga Thermal Scope: Ang mga Night Vision Scope ay perpekto para sa visibility sa gabi. Popular din sila sa mga mangangaso. Madaling mai-mount sa mga rifle. Ang LSJ ay nag-ooffer ng high-quality na thermal rescue at imaging equipment na tumutugon sa mga pangangailangan ng iba't ibang industriya, at nagpapabuti ng kaligtasan at kahusayan ng iyong negosyo. Piliin ang LSJ para sa pinakamodernong at maaasahang solusyon. Siguraduhing tiwalaan ang LSJ bilang iyong unang kasosyo sa urban search and rescue. Ang LSJ ay isang pionero sa pag-unlad ng mga portable na thermal imaging device para sa urban search and rescue equipment na sumusunod sa mga internasyonal na pamantayan. Serbisyo Bago ang Pagbebenta: Ang aming koponan ng mga eksperto ay handang tumulong sa iyo mula pa sa simula. Nag-ooffer kami ng malalim na konsultasyon upang lubos na maunawaan ang inyong mga pangangailangan at lumikha ng mga pasadyang solusyon. Nag-aambag kami ng detalyadong mga teknikal na espesipikasyon ng produkto at demonstrasyon upang tulungan kayong magdesisyon nang may kaalaman. Serbisyo Sa Panahon ng Pagbebenta: Sinisiguro namin na ang buong proseso ng pagbebenta ay maayos at epektibo. Dahil sa aming streamlined na sistema ng order at mahigpit na quality control, tiyak na darating ang inyong mga produkto nang nasa oras at sa perpektong kondisyon. Nag-aalok din kami ng serbisyo ng door-to-door delivery. Serbisyo Eksklusibo Matapos ang Pagbebenta: Ang aming pakikipagtulungan sa inyo ay hindi natatapos sa paghahatid ng aming mga produkto. Kasama sa aming komprehensibong serbisyo matapos ang pagbebenta ang tulong sa pag-install, pagsasanay sa gumagamit, at pangangalaga. Handa ang aming customer service team na tumulong sa anumang isyu o katanungan na maaaring mayroon kayo, at tiyakin na ganap kayong nasisiyahan. Kapag bumibili kayo ng kagamitan mula sa LSJ, bibigyan kayo ng tatlong-taong warranty, kung saan makakakuha kayo ng tiyak na serbisyo matapos ang pagbebenta mula sa amin. Kapag pinili ninyo ang LSJ, pinipili ninyo ang kalidad, katiyakan, at walang kapantay na serbisyo. Inaasam namin ang pagiging inyong kasosyo sa urban search and recovery at firefighting. Mula noong 2013, ang handheld thermal imaging device ay umuunlad, gumagawa at nagbibigay ng mataas na performans na kagamitan para sa paghahanap at pagsagip at mga kagamitan para sa mga bombero. Ang LSJ ay nakatanggap ng mga sertipikasyon para sa ISO9001, CE, at ROHS. Ang kumpanya ay may higit sa 30 patent. Nakalaan namin ang malaking pondo para sa aming departamento ng pananaliksik at disenyo, dahil kami ay isang nangungunang negosyo. Noong 2024, sumali ang LSJ sa apat na pangunahing eksibisyon: ang INTERSEC sa Dubai, ang Securika 2024, ang ika-18 na Defence Services Asia (DSA), at ang ika-3 National Security Asia (NATSEC) sa Malaysia, at ang NFPA sa Estados Unidos. Nakarehistro rin kami para sa INTERSEC sa Dubai mula Enero 14–16, 2025. Doon, ipapakita namin ang aming radar live detector, isang 3D radar na kakayahang makadetekta ng mga pader, gas detector, audio at video listening equipment, pati na rin ang stability monitoring equipment at thermal cameras na ginagamit sa pagsugpo ng sunog. Inaanyayahan namin kayo na bisitahin ang aming booth. Ang LSJ ay may 11 taon ng karanasan sa paggawa. Sila ay mga eksperto sa pagbuo at pagkonstruksyon ng mga bagong produkto na batay sa mga senaryo ng paggamit ng mga customer. Patuloy din nilang pinabubuti ang mga kakayahan at binabawasan ang gastos sa mga produkto. Ang LSJ ay may malawak na karanasan din sa urban search and rescue. Halimbawa, sa lindol ng Turkey noong 2023, ang life detector radar ng LSJ ay naglalaro ng mahalagang papel sa mga operasyon ng pagsagip ng Chinese Blue Sky Rescue Team. Piliin ang LSJ para sa mga advanced at maaasahang solusyon na inaayos upang tugunan ang inyong mga kinakailangan. Kilala ng LSJ kung gaano kahalaga ang mga handheld na thermal imaging device upang maibigay sa aming mga customer ang mga superior na produkto at outstanding na serbisyo. Dahil dito, nag-ooffer kami ng mga garantiya na tumatagal ng isang taon o limang taon. Ito ay sumasalamin sa aming tiwala sa kalidad at kahusayan ng aming mga produkto. Malaki ang aming ipinapaloob sa pananaliksik at pag-unlad upang matiyak na ang aming mga produkto ay sumusunod sa pinakamataas na pamantayan. Bilang tagagawa, mayroon kaming mahigpit na proseso sa quality control mula sa simula ng pagkuha ng raw materials hanggang sa produksyon. Nag-ooffer kami ng hanay ng mga produkto na tutugon sa pangangailangan ng anumang user. Sapat ang aming imbentaryo ng raw materials, components, at iba pang produkto upang matiyak na tatanggapin ninyo ang inyong order nang on time. Kung hindi kami makapagde-deliver nang on time, nangangako kami na magrerefund kami ng 2% hanggang 5% ng halaga ng pagbili sa aming mga client. Upang tulungan kayong gamitin ang aming mga produkto, nagbibigay kami ng komprehensibong tutorial videos. Bukod dito, maaari naming i-arrange ang aming technical staff para magbigay ng on-site instruction na partikular na isinasaayos batay sa inyong mga pangangailangan, upang magamit ninyo ang aming mga produkto nang may kumpiyansa at kaginhawahan. Pumili ng LSJ para sa mga reliable, high-quality na produkto at outstanding na customer service. Copyright © Beijing LSJ Technology Development Co., Ltd. Lahat ng mga Karapatan Ay Nakikilala
-
Patakaran sa Pagkapribado
handheld thermal imaging device
Portable at presisong deteksyon ng temperatura

Teknolohiyang pagsesenso ng init sa palmo ng iyong kamay

I-revolusyonize ang mga inspeksyon mo gamit ang handheld thermal imaging

Mabilis at maaaring pagbubukod ng temperatura kahit saan, kapanahunan
Why choose LSJ Technology handheld thermal imaging device?
Isang Kompleto na Ekipamento para sa Urban Search at Rescue Supply Chains
Bakit maaaring maging tagapaggawa at tagasupply ng primer ang LSJ?
Pag-uunlad ng High-Performance Search and Rescue Equipment Manufacturer
Pagpapatibay ng Kalidad at Kaugnay na Pagpapadala: Ang Paggawa ng LSJ para sa Kagustuhan ng Mga Kliyente
Mga kaugnay na kategorya ng produkto
Hindi makahanap ng hinahanap?
Humiling ng Quote Ngayon
Makipag-ugnay sa aming mga konsultant para sa iba pang mga produkto.Makipag-ugnayan