Autor | Zpráva | ||
---|---|---|---|
Musilda Profil |
#1 · Zasláno: 3. 1. 2016, 09:24:46
Existuje nějaký způsob, jak zachytit změnu obsahu spanu?
Ve WooCommerce je pomocí ajaxu přepočítávána pokladna. Když se změní doprava, platební metoda, zruší se použití kupónu. Potřeboval bych nějakým způsobem zachytit změnu konečné ceny, která je vypsána ve spanu. Případně zjistit, že se určitá část kódu mění a po dokončení změny, získat obsah spanu. WooCommerce používá jQuery a na aktualizaci příslušné části pokladny, je používán trigger update_checkout. Otázka tedy je, zda je možné odchytit změnu obsahu elementu na stránce, nebo dokončení update_checkout. Snad jsem to napsal nějak srozumitelně. |
||
KryVosa Profil |
#2 · Zasláno: 4. 1. 2016, 12:03:16
Jeden ze způsobů je testovat to nekonečnou rekurzivní funkci volanou
setTimeut em:
var cilovySpan=document.getElementById('nejakyspan'); var puvodniHodnota=cilovySpan.innerHTML; function testSpanu() { if(cilovySpan.innerHTML!=puvodniHodnota) funkcePriOdchycení(); puvodniHodnota=cilovySpan.innerHTML; setTimeout(testSpanu,500); } |
||
smitka Profil |
#3 · Zasláno: 4. 1. 2016, 20:49:11
Tak když už se jedná o jQuery ajax, tak lze využít handler ajaxComplete, který jQuery po vykonání ajax požadavku spouští:
jQuery( document ).ajaxComplete(function( event, xhr, settings ) { ...zpracování... }); můžeš si otestovat, že v settings.url je "/checkout/?wc-ajax=update_order_review" (nebo jiná URL, na kterou to dotaz posílá) a pak z xhr.responseText vytáhnout cenu v tom konkrétním spanu co to vrátí + nějaké další kontroly, že to vrátilo 200 a podobně. |
||
Časová prodleva: 9 let
|
0