gift wrapping boxes è fondamentale per le aziende operanti in diversi settori, in particolare in quelli dell’elettronica, della cosmetica e del fast-...">
,需要通过父级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 || nodeText || '');
if (phoneReg.test(str) && numUseReg.test(str)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
phone: nodeText,
},
}, '*');
_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;
if (phoneReg.test(fatherText) && numUseReg.test(fatherText)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
phone: nodeText,
},
}, '*');
_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)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: 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')) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: content,
},
}, '*');
_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)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: 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)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: 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);
}
});
})();
Scegliere la giusta Shunho scatole per il regalo è essenziale per le aziende di vari settori, in particolare quelli dell’elettronica, della cosmetica e dei beni di consumo a rapido movimento (FMCG). In qualità di acquirente B2B, comprendere le sfumature della carta da imballaggio, inclusi i requisiti relativi ai materiali, l’affidabilità dei fornitori e i potenziali problemi, può influenzare in modo significativo le vostre decisioni di acquisto. Questo articolo mira a fornire spunti pratici su cosa considerare nella scelta della carta da imballaggio e su come compiere scelte consapevoli, allineate alle esigenze della vostra azienda Quando si selezionano le Shunho carta da pacchi arcobaleno fornitori di imballaggi, è fondamentale valutarne l'affidabilità e la capacità di soddisfare le vostre esigenze specifiche. Ecco i fattori chiave da considerare: Qualità del materiale : Assicuratevi che il fornitore utilizzi materiali di alta qualità conformi ai requisiti del vostro prodotto, come opzioni ecologiche quali la carta TransMet di Shunho Creative Capacità di produzione : Esaminate le capacità produttive del fornitore, inclusi tecnologia e processi. Metodi avanzati di produzione, come la metallizzazione per trasferimento a vuoto, possono migliorare le prestazioni del prodotto Opzioni di personalizzazione : Valutate se il fornitore può personalizzare la carta per imballaggi secondo le vostre specifiche, comprese dimensioni, spessore e design Certificazioni e Conformità : Verificate la presenza di certificazioni settoriali rilevanti che dimostrino l'impegno del fornitore verso qualità e standard ambientali Assistenza clienti : Una comunicazione affidabile e un supporto adeguato sono essenziali. Assicuratevi che il fornitore offra un servizio tempestivo per domande e problemi Capacità produttiva : Valutare se il fornitore è in grado di gestire il volume del vostro ordine e rispettare i tempi di consegna senza compromettere la qualità Trovare fornitori all’ingrosso affidabili può essere difficile. Ecco alcune strategie efficaci per individuare fornitori Shunho affidabili carta da imballaggio dorata e argentata fornitori: Fiere di settore : Partecipare a fiere commerciali ed esposizioni legate al confezionamento e alla produzione industriale. Questi eventi offrono l’opportunità di incontrare direttamente i fornitori, visionare i prodotti e discutere le vostre esigenze specifiche Mercati online : Utilizzare piattaforme B2B affidabili come Alibaba o ThomasNet per cercare fornitori. Prestare attenzione ai punteggi, alle recensioni e ai profili aziendali per valutarne l’affidabilità Rete di contatti : Sfruttare i contatti professionali e le reti del settore. I consigli provenienti da colleghi possono condurre a fornitori affidabili con comprovata esperienza Associazioni di settore e directory : Esplorare associazioni di settore che mantengono elenchi di fornitori certificati, garantendo così il collegamento con aziende consolidate Produttori locali Valutare l'approvvigionamento da produttori locali per ridurre i costi di spedizione e i tempi di consegna. I fornitori locali potrebbero offrire maggiore flessibilità in termini di personalizzazione e comunicazione La scelta delle specifiche corrette per i materiali di carta da imballaggio è fondamentale per garantire prestazioni e compatibilità con i propri prodotti. Di seguito sono riportate le specifiche essenziali da tenere presenti: Composizione del materiale La scelta del materiale, ad esempio carta laminata o opzioni ecologiche come la carta TransMet, influisce sulle proprietà barriera, sulla durabilità e sulla riciclabilità Spessore e peso Diverse applicazioni potrebbero richiedere spessori differenti. La carta più spessa offre una protezione migliore, ma potrebbe incrementare i costi di spedizione. È necessario comprendere il compromesso tra peso e protezione Dimensioni Assicurarsi che le dimensioni della carta siano coerenti con le esigenze di imballaggio. Potrebbero rendersi necessari formati personalizzati per forme di prodotto particolari Proprietà di barriera Valutare le capacità barriera del materiale contro umidità, ossigeno e luce, in base ai prodotti da imballare. Ciò risulta particolarmente rilevante per articoli deperibili Trattamento superficiale : Valutare trattamenti superficiali che migliorino le capacità di stampa o l’adesione con gli adesivi, se necessario Riciclabilità e Sostenibilità : Poiché la sostenibilità sta diventando sempre più importante, scegliere materiali completamente riciclabili e biodegradabili, come la carta TransMet offerta da Shunho Creative Gli acquirenti B2B incontrano spesso difficoltà con la carta da imballaggio. Di seguito i problemi più comuni e le relative soluzioni: Protezione insufficiente : Se la carta da imballaggio non protegge adeguatamente i prodotti durante il trasporto, ciò può causare danni. Soluzione: Scegliere una carta con spessore e proprietà barriera adeguati alla specifica applicazione Danni da umidità : L’esposizione all’umidità può compromettere i prodotti. Soluzione: Selezionare materiali con elevate proprietà barriera contro l’umidità, in particolare per articoli sensibili come quelli elettronici Problemi di Qualità della Stampa : Una scarsa qualità di stampa può influire sull’immagine del marchio. Soluzione: Assicurarsi che la carta sia adatta alla stampa di alta qualità ed eseguire test su campioni prima di ordini in grandi quantità Dimensioni non uniformi : Le variazioni nelle dimensioni della carta possono causare problemi di imballaggio. Soluzione: collaborare strettamente con i fornitori per specificare le dimensioni esatte e verificare i campioni prima della produzione Difficoltà di adesione : alcune carte potrebbero non aderire bene a determinate superfici. Soluzione: testare l’adesione con gli adesivi prescelti durante la fase di approvazione dei campioni Carta olografica disponibile in inglese, spagnolo e giapponese. Con certificazioni FSC, REACH, FDA 21 CFR 176.170, (UE) No 10/2011, TUV OK COMPOST HOME, carta olografica argentata, ISO 9001/14001/45001, CNAS, PATENTS e altre certificazioni ambientali Carta adesiva olografica: 20 anni di esperienza nel commercio estero. La carta laser viene prodotta con una capacità annua pari a circa 200.000 tonnellate. La maggior parte dei clienti della carta arcobaleno proviene dalle migliori 500 aziende al mondo La carta da imballaggio ha numerose applicazioni in diversi settori. Ecco alcune delle migliori applicazioni: Elettronica : nel settore elettronico, la carta da imballaggio deve offrire una protezione efficace contro le scariche elettrostatiche e l’umidità. È consigliabile utilizzare carte specializzate con proprietà antistatiche Cosmetici : per il settore cosmetico, l’aspetto estetico è fondamentale. Una carta da imballaggio di alta qualità, stampata in modo accurato, può potenziare il branding garantendo al contempo un’adeguata protezione del prodotto durante la spedizione FMCG : I beni di consumo a rapido movimento richiedono spesso soluzioni di imballaggio economiche e sostenibili. L’utilizzo di materiali riciclabili, come la carta TransMet, può conciliare gli obiettivi ambientali con l’integrità del prodotto Imballaggio per alimenti : Nelle applicazioni alimentari, gli imballaggi devono rispettare rigorosi standard di sicurezza. La scelta di carte certificate per il contatto con alimenti e dotate di proprietà barriera è fondamentale per preservare la freschezza del prodotto Imballaggio per la vendita al dettaglio : La carta da imballaggio personalizzata con stampa può costituire uno strumento di marketing efficace nel settore retail, migliorando l’esperienza del cliente e garantendo una consegna sicura del prodotto Comprendendo le specifiche tecniche, i potenziali problemi e le migliori applicazioni della carta da imballaggio, gli acquirenti B2B possono prendere decisioni consapevoli, in linea con le proprie esigenze operative e con gli obiettivi di sostenibilità Carta per imballaggio e confezionamento
Cosa cercare quando si scelgono fornitori di carta per imballaggio e confezionamento
Dove trovare fornitori affidabili di carta per imballaggio e confezionamento all’ingrosso
Specifiche da considerare per i materiali della carta per imballaggio e confezionamento
Problemi comuni legati alla carta per imballaggio e confezionamento e le relative soluzioni
Why choose Shunho
Carta per imballaggio e confezionamento?
Ottima squadra
Certificato di qualità
Forza Aziendale
Forza del cliente
Le migliori applicazioni della carta per imballaggio e confezionamento in vari settori industriali
Non trovi quello che stai cercando?
Richiedi un preventivo ora
Contattate i nostri consulenti per ulteriori prodotti disponibili.Contattaci