Pergunta do WordPress Postagens populares do WordPress: Ajax não funciona no jQuery adiado

Um usuário perguntou ?

Olá,

Se o jQuery for adiado, ele não será definido durante o carregamento da página, o que significa que o plugin tem um erro (“jQuery não está definido!”).

Consegui adicionar quickhockey para que o código funcione apenas em torno do código com um ouvinte DOMContentLoaded:

window.addEventListener('DOMContentLoaded', function() {
//plugin js
});

Isso garante que o script seja executado depois que o DOM for carregado (o que significa que os scripts adiados já foram executados). Isso é necessário para minimizar o javascript de bloqueio de renderização.

Gostaria de saber se uma correção semelhante pode ser adicionada a um design futuro.

Obrigado!

(@hcabrera)

3 anos, 2 meses atrás

Olá @lordbass,

Obrigado pela sugestão! Vou tentar e, se meus testes passarem, posso considerar adicionar essa alteração ao plugin.

Que tenha um lindo dia!

(@patrick_d1985)

3 anos, 2 meses atrás

Eu também quero jogar fora meus 2 centavos.

Por alguma estranha razão, eu realmente não consigo explicar o seguinte; WPP com opção AJAX (já que estou usando cache etc); – Funciona no Chrome, Firefox, Opera, Firefox Dev edtion – Não funciona no Mobile Safari, Safari e IE.

Em navegadores que não funcionam, gera uma notificação jQuery não especificada. Mas eu realmente não posso dizer por quê. Eu tentei muito (desabilitando o cache (Wp-Rocket), desbalando (Varnish (lado do servidor), etc).

Se eu mudar para a função estática; Ele funciona em vários navegadores e no mesmo navegador, mas adoro não conseguir encontrá-lo funcionando entre navegadores com AJAX. Se eu fiz um retrocesso

Eu consegui que funcionasse usando a área de widget axxificada usando; Antigo mas ainda funciona.

No entanto, gostaríamos de receber sugestões sobre isso sem o plug-in adicionado.

Atenciosamente, Patrick Dankers

(@hcabrera)

3 anos, 2 meses atrás

Olá @patrick_d1985,

É difícil dizer o que está acontecendo no seu caso, pois não tenho um Mac ou iPhone para verificar como o widget se comporta no Safari.

Eu tentei IE11 e Edge e o widget carrega geralmente mesmo com a opção de widget Ajaxify habilitada, mas é claro que não estou postando jQuery como o OP (e suponho que você também esteja?)

Você já experimentou os treinamentos do LordBass?

(@patrick_d1985)

3 anos, 2 meses atrás

Olá Heitor

obrigado por recuperar isso!

Sim, era estranho por algum motivo estranho nesses navegadores que o jQuery não parecia certo no momento em que o WPP foi lançado. Algumas ações básicas do jQuery no console do desenvolvedor funcionaram bem.

Sim, estou adiando o jQuery. E meu caso pode ser um caso difícil por causa da configuração que usamos (varnish caching, Nginx + PHP-FPM, HTTPS, HTTP2. Mod_pagespeed Wp-Rocket, Cloudflare, MaxCDN). Como eu disse, é um pouco monstruoso.

Então, talvez apenas parte dessa combinação esteja criando algumas mudanças para que as coisas realmente sejam feitas. Mas eu não conseguia descobrir o quê.

Eu tentei a sugestão anotada aqui, mas isso não ajudou no meu caso. Mas o estranho foi que terminei; o modo normal funciona bem, o modo ajax não cruzou o navegador. Então eu decidi que estava tudo bem se eu não deixasse o WPP fazer a chamada AJAX. Foi aí que entrou o antigo plugin No Widgets AJAX. E isso funcionou muito bem.

É apenas descartar isso como uma opção para pessoas que só conseguem superar isso.

No entanto, espero que ajude alguém.

(@hcabrera)

3 anos, 2 meses atrás

Sim, ele parece um monstro (e PITA completo para manter :P)

Se você estiver disposto a fazer mais um teste @patrick_d1985, vamos tentar o carga substitua em vez disso:

window.addEventListener('load', function() {
//plugin js
});

Deixe-me saber se há alguma diferença.

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *