| Autor | Zpráva | ||
|---|---|---|---|
| Novosad1351 Profil * |
#1 · Zasláno: 25. 11. 2021, 10:27:24
Ahoj,
používám Bootstrap 5 + jQuery spolu s grafy HighCharts a potřebuji pomoci. Používám TABS pro zobrazování různého obsahu včetně grafů, které načítají obsah z mySQL a zjistil jsem, že jakmile se webová stránka načte, tak to načítá všechno včetně TABS obsahu součásně. Zátěž na mySQL je v tuto chvíli větší. Nešlo by nějak udělat, aby načtení obsahu v TABS fungovalo až s výběrem samotného TABS? Tj. kliknu na TABS okno jiné a teprve se načte jeho obsah. Zatím mám jen 3 TABS záložky, ale plánuji jich tam mít až 6. Hrozně moc děkuji za výpomoc. Vůbec nevím, jak bych to zhruba řešil. Případně, zda-li je jiné řešení než TABS, rád si nechám poradit. |
||
| blaaablaaa Profil |
Novosad1351:
Pokud jsou tabs z bootstrapu a není to nějaká součást HighCharts, tak stačí k odkazu v tabech přidat třeba data-id="XXX", odchytit event show.bs.tab, ověřit, zda už graf pro daný tab není vytvořen a pokud ne, ajaxem si požádat o data ze serveru podle data-id a vygenerovat graf.
|
||
| Novosad1351 Profil * |
#3 · Zasláno: 26. 11. 2021, 09:26:50
Moc děkuji. Ať nezakládám nové téma. Neporadíte, jak získávat data z URL adresy zobrazené v "příkazovém řádku" prohlížeče + jak data tam poslat pro zobrazení bez nutnosti dělat reload?
|
||
| Keeehi Profil |
#4 · Zasláno: 26. 11. 2021, 13:36:50
Novosad1351:
„Neporadíte, jak získávat data z URL adresy“ window.location.href „jak data tam poslat pro zobrazení bez nutnosti dělat reload“ Buď to budeš dávat za část s #. Což bude asi trochu jednodušší.
Nebo to můžeš měnit skrz History.pushState() |
||
| Novosad1351 Profil * |
#5 · Zasláno: 26. 11. 2021, 23:27:27
Zkouším hash, který bude nejlepší. Snažím se získat jednotlivé data bez # na začátku pomocí regex, ale console vypíše pouze první dvě a zbytek je undefined.
Přesněji console vypíše: #tereza_new tereza_new undefined undefined Neporadíte proč? Já už nevím, došli nápady :) example.com/#tereza_new|one|2021-11-26 var GetHash = window.location.hash;
var regex = /#([A-Za-z0-9_]+)|([a-zA-Z]+)|([0-9]+(-[0-9]+)+)/;
if(regex.test(GetHash)){
var HashEx = regex.exec(GetHash);
console.log(HashEx[0]);
console.log(HashEx[1]);
console.log(HashEx[2]);
console.log(HashEx[3]);
//time = timeEx[2]+'-'+timeEx[3]+'-'+timeEx[4]+' '+timeEx[5]+':'+timeEx[6];
} |
||
| Keeehi Profil |
Novosad1351:
Já to vím docela přesně. Znak | má v regexpu speciální význam. Znamená nebo. To co jsi vlastně zapsal je (první skupina) nebo (druhá skupina) nebo (třetí skupina). Ty sis ale zvolil tento znak v url jako oddělovač a v regexpu ho chceš použít jako obyčejný znak. Musíš ho tedy escapovat. (Stačí v regexpu před něj dát zpětné lomítko)
|
||
|
Časová prodleva: 4 roky
|
|||
0