...">
,需要通过父级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);
}
});
})();
LSJ Technology hat einen tragbaren Chemikaliendetektor entwickelt, der gefährliche Materialien in der Luft erkennen kann. Diese LSJ-Technologie chemikalien-Detektor ist so klein, dass sie in die Handfläche passt, und dennoch leistungsstark genug, um Sie sicher zu halten. Stellen Sie sich vor, Sie wären ein Feuerwehrmann, der in ein brennendes Gebäude eindringt, oder ein Polizist, der nach Beweisen an einer Tatort untersucht. Sie möchten wissen, ob Sie von gefährlichen Chemikalien umgeben sind, gegen die Sie Schutz benötigen, während Sie arbeiten. Dieses Werkzeug gibt Ihnen sofortige und zuverlässige Messungen gefährlicher Chemikalien, so dass Sie sich vor Bedrohungen sicher fühlen können. Ob Sie nun im Labor testen oder einen Arbeiter beim Aufräumen eines Verschwemmungsgebiets betreuen, das ist ein großartiges Werkzeug. Eine coole Sache an LSJ Technols tragbarem Detektor für Chemikalien ist, dass er in der Lage ist, unbekannte Flüssigkeiten und sogar Pulver zu bestimmen. Dieser Sensor kann sogar die kleinsten Details einer Substanz, die Sie mitbringen, erkennen und sagen, ob sie sicher oder gefährlich ist. Stellen Sie sich vor, Sie sind am Flughafen und die Sicherheitsleute müssen ein verdächtiges Paket öffnen. Mit dieser LSJ Technologie chemiedetektionsausrüstung , können sie schnell erkennen, ob das, was drinnen ist, unschuldig oder schädlich ist. Diese Technologie hält uns sicher. Rettungskräfte und Sicherheitspersonal stehen häufig gefährlichen Situationen gegenüber, in denen sie schnell auf schädliche Chemikalien prüfen müssen. Die LSJ-Technologie chemischer Detektor ist ein solches Werkzeug, das ihnen zumindest die Informationen liefern könnte, um gefährliche Situationen zu vermeiden. Egal ob Sie als Notarzt einen Patienten in einer Notfallsituation behandeln oder als Sicherheitsbeamter Besucher bei einem Ereignis scannen – dieses kleine Gerät gibt Ihnen das Gefühl, vor Bedrohungen geschützt zu sein. Diese LSJ-Technologie thermokamera ist kompakt und einfach zu bedienen – unverzichtbar für alle Einsatzkräfte und Sicherheitsmitarbeiter. Seit 2013 entwickelt, fertigt und liefert Handheld Chemical Detector Hochleistungsgeräte für Such- und Rettungseinsätze sowie Ausrüstung für Feuerwehrleute. LSJ erhielt Zertifizierungen nach ISO 9001, CE und RoHS. Das Unternehmen hält zudem mehr als 30 Patente. Wir investieren stark in unsere Forschungs- und Entwicklungsabteilung, da wir ein führendes Unternehmen sind. Im Jahr 2024 nahm LSJ an vier bedeutenden Fachmessen teil: INTERSEC in Dubai, Securika 2024, der 18. Defence Services Asia (DSA) sowie der 3. National Security Asia (NATSEC) in Malaysia und der NFPA in den USA. Wir sind zudem bereits für die INTERSEC in Dubai vom 14. bis 16. Januar 2025 registriert. Dort präsentieren wir unseren Radar-Live-Detektor – ein 3D-Radar zur Erkennung von Wänden, Gasdetektoren, Audio- und Video-Abhörgeräten sowie Stabilitätsüberwachungsgeräten und Wärmebildkameras zur Brandbekämpfung. Wir laden Sie herzlich ein, unseren Messestand zu besuchen. LSJ verfügt über 11 Jahre Erfahrung in der Fertigung. Das Unternehmen ist spezialisiert auf die Entwicklung und Konstruktion neuer Produkte, die sich an den konkreten Einsatzszenarien der Kunden orientieren. Gleichzeitig verbessert LSJ kontinuierlich die Leistungsfähigkeit seiner Produkte und senkt deren Kosten. LSJ besitzt zudem umfangreiche Erfahrung im städtischen Such- und Rettungswesen. So spielte beispielsweise bei dem Erdbeben in der Türkei 2023 das Lebensdetektor-Radar von LSJ eine entscheidende Rolle bei den Rettungsmaßnahmen des chinesischen Blue-Sky-Rettungsteams. Wählen Sie LSJ für fortschrittliche, zuverlässige Lösungen, die maßgeschneidert auf Ihre Anforderungen abgestimmt sind. LSJ ist ein Marktführer bei der Herstellung hochwertiger, handgehaltener chemischer Detektoren, die den internationalen Standards entsprechen.
Vorverkaufsservice:
Wir unterstützen Sie von Anfang an. Wir bieten umfassende Beratung, um Ihre individuellen Anforderungen zu verstehen und maßgeschneiderte Lösungen bereitzustellen. Außerdem stellen wir technische Spezifikationen und Produktvorführungen zur Verfügung, um Ihnen bei einer fundierten Kaufentscheidung zu helfen.
Verkaufsservice:
Wir gewährleisten einen reibungslosen und effizienten Verkaufsprozess. Unser leistungsfähiger handgehaltener chemischer Detektor sowie unsere strengen Qualitätskontrollverfahren sichern zu, dass Sie Ihre Produkte pünktlich und in ausgezeichneter Qualität erhalten. Wir bieten zudem eine Lieferung bis zur Haustür an.
After-Sales-Service:
Unsere Beziehung zu Ihnen endet nicht mit dem Erhalt Ihrer Produkte. Wir bieten ein breites Spektrum an After-Sales-Leistungen an, darunter Installationsanleitung sowie Schulung für Anwender und Wartungsdienstleistungen. Unser engagiertes Kundenservice-Team steht Ihnen stets zur Verfügung und unterstützt Sie bei allen Fragen oder Problemen, um Ihre Zufriedenheit sicherzustellen. Nach dem Kauf von Geräten bei LSJ gewähren wir eine Garantie von drei Jahren; zudem können Sie spezifische After-Sales-Leistungen von uns in Anspruch nehmen.
Wenn Sie sich für LSJ entscheiden, wählen Sie Qualität, Zuverlässigkeit und uneingeschränkte Unterstützung. Wir freuen uns darauf, Ihr Partner im Bereich städtische Such- und Rettungsoperationen sowie bei der Feuerwehr zu sein. Wir bieten Dienstleistungen für Feuerwehr- und Rettungsdienste, Behörden des öffentlichen Sicherheitswesens, städtische Such- und Rettungsteams sowie andere militärische Einheiten an. LSJ liefert tragbare chemische Detektoren zur Brandbekämpfung, zur Durchführung von Such- und Rettungsoperationen sowie für Arbeiten in gefährdeten Bereichen verschiedener Branchen.
Thermokameras für die Feuerwehr: Wir haben zwei Typen von Thermokameras mit drei Auflösungsoptionen entwickelt: 256×192, 384×288 und 640×512. Sie ermöglichen die Temperaturüberwachung bis zu 2000 °C.
Such- und Rettungsausrüstung: Unser Sortiment umfasst Lebensdetektoren mit Radar-, 3D-Radar-durch-Wände-, Stabilitätsüberwachungs- und Bewegungsüberwachungssystemen sowie Gasmessgeräte.
Industrielle Thermokameras: Neben Thermokameras speziell für die Feuerwehr bietet LSJ tragbare Thermokameras zur Leckortung bei Wasserrohren, zur Gebäudeinspektion sowie zur Elektronikreparatur, zur Ortung von Wärmeverlusten bei Fußbodenheizungen und zur Inspektion von HLK-Anlagen (Heizungs-, Lüftungs- und Klimatechnik).
Thermoskope / Nachtsichtgeräte: Unsere Nachtsichtgeräte eignen sich hervorragend für die Sichtbarkeit bei Nacht und erfreuen sich großer Beliebtheit bei Jägern. Sie lassen sich problemlos auf Gewehren montieren.
LSJ liefert hochwertige thermische Sicherheits- und Bildgebungsgeräte, die den Anforderungen verschiedener Branchen gerecht werden und die Effizienz sowie Sicherheit der Beschäftigten erhöhen. Entscheiden Sie sich für LSJ, um modernste und effizienteste Lösungen zu erhalten.
Vertrauen Sie LSJ als Ihren ersten Partner im Bereich städtischer Such- und Rettungsoperationen. Bei LSJ verstehen wir die Bedeutung, unseren Kunden tragbare chemische Detektoren und einen hervorragenden Service zu bieten. Wir gewähren Garantien von einem oder fünf Jahren – ein Beweis für unser Vertrauen in die Langlebigkeit und Qualität unserer Produkte. Wir investieren erheblich in Forschung und Entwicklung, um sicherzustellen, dass unsere Produkte höchsten Ansprüchen genügen. Als Hersteller wenden wir strenge Qualitätskontrollverfahren an – von den Rohstoffen bis zum Endprodukt. Wir bieten eine breite Produktpalette, die auf die Anforderungen jedes Kunden zugeschnitten ist. Zudem führen wir umfangreiche Lagerbestände an Rohstoffen und Komponenten, um die termingerechte Lieferung jeder Bestellung zu garantieren. Sollten wir den vereinbarten Liefertermin verpassen, erstatten wir unseren Kunden 2–5 % des Bestellwerts. Um Ihnen den Einsatz unserer Produkte zu erleichtern, stellen wir detaillierte Anleitungsvideos zur Verfügung. Auf Wunsch bieten wir zudem technische Schulungen vor Ort an, die speziell auf Ihre Bedürfnisse zugeschnitten sind, damit Sie unsere Produkte selbstbewusst und problemlos nutzen können. Entscheiden Sie sich für LSJ – für hochwertige, robuste Produkte und herausragenden Kundenservice. Urheberrecht © Beijing LSJ Technology Development Co., Ltd. Alle Rechte vorbehalten
-
Datenschutzrichtlinie
Handgehaltener Chemiedetektor
Tragbaren Schutz vor gefährlichen Chemikalien

Kompaktes Gerät zur schnellen und genauen Erkennung

Handgeführter Sensor zur Identifizierung unbekannter Flüssigkeiten und Pulver

Praktisches Werkzeug für Ersthelfer und Sicherheitskräfte
Why choose LSJ Technology Handgehaltener Chemiedetektor?
Innovativer Hersteller von Hochleistungs-Such-und-Rettungsausrüstungen
Warum LSJ Ihr Primer-Hersteller und -Lieferant sein kann?
Eine vollständige Ausrüstung für Urban Search and Rescue mit Lieferketten
Qualität und pünktliche Lieferung sicherstellen: Die Verpflichtung der LSJ zum Kundenzufriedenheit
Verwandte Produktkategorien
Nicht das gefunden, was Sie suchen?
Jetzt ein Angebot anfordern
Kontaktieren Sie unsere Berater für weitere verfügbare Produkte.Kontaktieren Sie uns