Descrição
(função assíncrona() {
const nomeImagem = ’01-26_Kazam_REI_PDP_L’;
const formatoImagem = ‘png’;
const idImagem = ‘responsive-image-i0w0co0co0w0_466dd0c4_d0a0_4688_bf2c_c12a3e8a62ac’;
// Extrai o nome base do nome do arquivo de imagem
let nomeBase = nomeImagem;
if (nomeImagem.includes(‘_XL’)) {
nomeBase = nomeImagem.replace(‘_XL’, ”);
} else if (nomeImagem.includes(‘_LG’)) {
nomeBase = nomeImagem.replace(‘_LG’, ”);
} else if (nomeImagem.includes(‘_MD’)) {
nomeBase = nomeImagem.replace(‘_MD’, ”);
} else if (nomeImagem.includes(‘_SM’)) {
nomeBase = nomeImagem.replace(‘_SM’, ”);
}
// Inicializa o cache global se não existir
if (!janela.cacheExistenciaImagem) {
janela.cacheExistenciaImagem = new Map();
}
// Verifica se temos resultados em cache para este nome base
if (janela.cacheExistenciaImagem.has(nomeBase)) {
const resultadosExistencia = janela.cacheExistenciaImagem.get(nomeBase);
atualizarFontesImagem(resultadosExistencia);
return;
}
// Função para verificar se a imagem existe via requisição HTTP HEAD
async function verificarImagemExiste(url) {
try {
const resposta = await fetch(url, { method: ‘HEAD’ });
return resposta.ok;
} catch (erro) {
// Trata silenciosamente erros de rede sem spam no console
return false;
}
}
// Verifica todos os tamanhos possíveis
const tamanhos = [‘SM’, ‘MD’, ‘LG’, ‘XL’];
const resultadosExistencia = {};
// Usa detecção automática de formato Scene7 em vez de extensões fixas
for (const tamanho of tamanhos) {
const url = `https://media.columbia.com/i/columbiasprtswr/${nomeBase}_${tamanho}?fmt=auto`;
resultadosExistencia[tamanho] = await verificarImagemExiste(url);
}
// Registra disponibilidade para depuração (apenas se alguns tamanhos estiverem ausentes)
const tamanhosDisponiveis = Object.values(resultadosExistencia).filter(Boolean).length;
const totalTamanhos = tamanhos.length;
/*if (tamanhosDisponiveis source.remove());
// Cria novas fontes com tamanhos ideais
const breakpoints = [
{ media: ‘(max-width: 575px)’, preferSize: ‘SM’ },
{ media: ‘(min-width: 576px) and (max-width: 1023px)’, preferSize: ‘MD’ },
{ media: ‘(min-width: 1024px) and (max-width: 1439px)’, preferSize: ‘LG’ },
{ media: ‘(min-width: 1440px)’, preferSize: ‘XL’ }
];
breakpoints.forEach((breakpoint, índice) => {
let tamanhoOtimizado = ”;
// Determina o tamanho ideal para este breakpoint
if (breakpoint.preferSize === ‘SM’) {
tamanhoOtimizado = resultadosExistencia.SM ? ‘SM’ : ‘BASE’;
} else if (breakpoint.preferSize === ‘MD’) {
tamanhoOtimizado = resultadosExistencia.MD ? ‘MD’ : (resultadosExistencia.SM ? ‘SM’ : ‘BASE’);
} else if (breakpoint.preferSize === ‘LG’) {
tamanhoOtimizado = resultadosExistencia.LG ? ‘LG’ : (resultadosExistencia.MD ? ‘MD’ : (resultadosExistencia.SM ? ‘SM’ : ‘BASE’));
} else if (breakpoint.preferSize === ‘XL’) {
tamanhoOtimizado = resultadosExistencia.XL ? ‘XL’ : (resultadosExistencia.LG ? ‘LG’ : (resultadosExistencia.MD ? ‘MD’ : (resultadosExistencia.SM ? ‘SM’ : ‘BASE’)));
}
// Cria um novo elemento source
const novoSource = document.createElement(‘source’);
novoSource.setAttribute(‘media’, breakpoint.media);
let srcset = ”;
if (tamanhoOtimizado === ‘BASE’) {
srcset = `https://media.columbia.com/i/columbiasprtswr/${nomeImagem}?fmt=auto&$aem_${formatoImagem}$`;
} else {
srcset = `https://media.columbia.com/i/columbiasprtswr/${nomeBase}_${tamanhoOtimizado}?fmt=auto&$aem_${formatoImagem}$`;
}
novoSource.setAttribute(‘srcset’, srcset);
// Insere antes do elemento img
picture.insertBefore(novoSource, img);
});
// Garante que os atributos de carregamento lento sejam preservados
if (img) {
// Verifica se a imagem tem atributos de carregamento lento
const temClasseLazy = img.classList.contains(‘lazy’);
const temDataSrc = img.hasAttribute(‘data-src’);
if (temClasseLazy || temDataSrc) {
// Garante que a classe lazy esteja presente
if (!img.classList.contains(‘lazy’)) {
img.classList.add(‘lazy’);
}
// Preserva ou restaura o atributo data-src
if (srcDataOriginal) {
img.setAttribute(‘data-src’, srcDataOriginal);
}
}
}
// Reinicializa vanillaLazyLoad se existir
if (janela.vanillaLazyLoad && typeof janela.vanillaLazyLoad.update === ‘function’) {
janela.vanillaLazyLoad.update();
} else if (janela.vanillaLazyLoad && typeof janela.vanillaLazyLoad.init === ‘function’) {
janela.vanillaLazyLoad.init();
}
}
})();
EXPERIMENTE O KAZAM™ AO VIVO
A mochila ultraleve de grande volume que traz
nossa expertise em montanhismo para o caminho.
Visite sua loja local para testá-la pessoalmente.
Esta mochila totalmente impermeável e bem organizada é feita com uma estrutura durável e leve, pronta para trilhas difíceis e acidentadas. Feita para longas distâncias, sua construção confortável inclui um cinto de quadril giratório exclusivo que distribui o peso naturalmente com cada passo ou andada, design ventilado no painel traseiro e nosso sistema de compressão patenteado, que pode ser usado facilmente em movimento. Projetada com mentalidade alpinista para apoiar os viajantes em longas jornadas.
Usos: Trekking, Trekking Ultraleve
Tecido de nylon/polietileno ripstop leve e impermeável
Design de cinto de quadril Gait Keeper™ maximiza eficiência e conforto ao carregar carga
Sistema de compressão GiddyUp™ patenteado é totalmente modular e pode ser usado para comprimir a mochila enquanto está sobre suas costas
Alças de ombro estilo colete com bolsos duplos de entrada, bolsos zipados seguros e tiras torácicas com webbing de cadeia de daisy para ajuste de alças
Painel traseiro e alças de ombro com espuma de densidade dupla e revestimento em malha melhoram a circulação de ar e secam rapidamente
Quadro de alumínio em forma de V fixado ao cinto de quadril na parte central traseira, distribuindo o peso naturalmente para sua parte inferior do corpo
Bolsa frontal grande para armazenamento adicional de equipamentos
Bolsos laterais grandes para garrafas d’água com acesso lateral, capazes de acomodar hastes de tenda, camadas extras e colchões de dormir
Sleeve interno para hidratação e porta para reservatórios
Entrada tipo rolo para fácil acesso e proteção contra intempéries
Tampa superior removível e ajustável com dois bolsos zipados seguros para organização adicional
Alças de carga para ajuste da posição da carga
Anéis para bastões de trekking com prendedor superior para corda
Duas cadeias verticais de daisy
Peso mínimo na trilha = peso da mochila sem a tampa superior
Importado
















Avaliações
Ainda não existem avaliações.