Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: vice xhttp.onreadystatechange na jedne strance WordPressu

Aktivity
Avatar
Petr chylik
Člen
Avatar
Petr chylik:25.11.2020 12:44

Ahoj,
jsem uplný začatečník v tvorbě webu a programovani (4dny), nicmene konecne jsem dostal kod do podoby, kde mi funguje pokud mi do toho nezasahuje nejaka kouzelna ruka WordPressu tuto volovinu muzete vyzkouset zde, kde to funguje: https://cryptobattle.000webhostapp.com/webee.html
pokud ale kod prekopiruju do "CUSTOM HTML" ve WP tak se stranka zasekne viz: https://cryptobattle.000webhostapp.com/10-2
po chvilce testovani jsem zjistil, ze problem je v opakovanem pouziti xhttp.onreadys­tatechange (asi), pokud totiz z DALSICH (pokud tam je jen jedna tak to jde) funkci, kde toto pouzivam smazu tyto 2 radky:

xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {

tak se WP nezasekne jen nedela to co ma..
prosim o kazdou radu diky

Zkusil jsem: hledal

Chci docílit: fungovani WP stejne jako prvni odkaz

 
Odpovědět
25.11.2020 12:44
Avatar
Petr chylik
Člen
Avatar
Petr chylik:25.11.2020 14:16

vyreseno pridani podminky za predchozi code if (krok==...) s tim ze krok jsem menil dle toho kde je program,
ale stejne bych rad, kdyby mi nekdo napsal proc se to ve WP chova jinak

Editováno 25.11.2020 14:16
 
Nahoru Odpovědět
25.11.2020 14:16
Avatar
Petr chylik
Člen
Avatar
Petr chylik:25.11.2020 23:43

stejne tak kdyz ten kod obfuskuju na https://obfuscator.io/ tak pres /XXX.html ten kod bezi ale kdyz ho narvu primo pod WP tak se to zas rubne

 
Nahoru Odpovědět
25.11.2020 23:43
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:26.11.2020 6:57

S requestem se pracuje trochu jinak nez s jinym kodem. A funguje odlisne na serveru web nebo localhost a odlisne pres file:/// a v kazdem prohlizeci se to chova malinko jinak pro kazdou z tech situaci. Takze ocekavej neocekavane.
Hlavne, pokud mas vsechno spravne, tak pri testovani na tvem pc muze zlobit prave ta podminka se state=200 a ==4, tam se to pro localhost pise trochu jinak, protoze nektery z tech stavu nemusi nastat, protoze to proste probehne moc rychle.

Pokud se ti js kod zasekne, tak obvykle vypise chybu do webove konzoly prohlizece.

Ja si myslim, ze mas spatne pojmenovane promenne. Zkus si radeji na to udelat funkci, podobnou, jako mam ja
WS.requestByX­mlXhrCreate a WS.requestByX­mlCreate (ne moc stastne nazvane, protoze vypadaji podobne).
Ted nevim, zda tohle je zrovna ta funkcni verze, ale tak pouzij svou, jen to trochu obalis funkcemi.

https://mlich.zam.slu.cz/js-xchat/x_chat_app.js

Bylo by dobre, aby jsi mel pro kazdou url, ktera bezi samostatne, take samostatny request, aby se nemohlo stat, ze z nejakeho duvodu se v pulce zastavi predesle vykonavani programu a prepises si ho novym.

  1. je nutne mit tu promenou definovanou pres var. Jinak se jedna o globalni promenou a tim padem si ji muzes snadno prepsat.
  2. Je vyhodne si request presunout do vlastniho objektu
        var xhrObj, req;
        req = new XMLHttpRequest();
        req.onreadystatechange = ...
        xhrObj = {};
        xhrObj.req  = req;
        xhrObj.url = null;
        xhrObj.open = function (method, url, asyn, user, psw)   // 'GET', url, false
                {
                xhrObj.url = url; // ja si tam zalohuji tez url, kterou vypisuji pri chybe
//              xhrObj.req.open(method, url, asyn);
                xhrObj.req.open('POST', url, asyn, user, psw);
                }
        xhrObj.send = function (params)
                {
                xhrObj.req.send(params?params:null);
                };
 
Nahoru Odpovědět
26.11.2020 6:57
Avatar
Petr chylik
Člen
Avatar
Petr chylik:26.11.2020 9:27

diky za odpoved, nicmene jsem to konecne vyresil tim, ze jsem nepsal ten samy script primo do "Custom HTML" ve WP, ale udelal jsem si tam file java.js na ktery jsem v "custom HTML" jen odkazoval a to funguje dobre.. odted budu vse psat do .js souboru.
stale nechapu kde je rozdil pro WP ale asi tam nejaky bude

 
Nahoru Odpovědět
26.11.2020 9:27
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.