Reklama
Nepřihlášený uživatel | Zaregistrovat se
 

Téma:

Počítače a InternetVývoj software

Spravují:

lampa,
Sarnegarth

Může vás zajímat



Reklama




nechce to nějakej ten eval navíc, aby se escape sekvence interpretovaly?
Nmaster Every sperm is sacred,  every sperm is good.
Dva dny uz se s tim drbu a nemuzu prijit na to proc se to chova tak debilne...

Z reklamky mi posilaji JSON se skriptem, ktery potrebuju appendnout do stranky. Jenze ten skript je nejak escapovany, a vzdycky se do stranky propise jako string a nevim co s tim.

Melo by to vypadat uplne jednoduse:

var reklama = JSON.content;
stranka.append(reklama);

A JSON.content vypada takto:

\x3cspan class=\"PubAPIAd\" id=\"F7FC4CB5-89CC-4236-BCF2-CCE661E900E2\"\x3e\x3cscript type=\'text/javascript\' src=\'https://track.adform.net/adfscript/?bn=20711596;rtbwp=4;rtbdata=uX9_LJt31xfriou_oExnARlvbUzvXnZ41avJHTFZxQv60psHS4Mgij5eAt370Rbiq7qcb0V-6X27wWWe46tUZYTKwMUuPEIeqeXNz-p6I7uvi8Bdl7BCxIpEsjGOlwJcElnpekFM2G_ly6iPrphrmqtrOT38EK8UrNKo4TG1TPCObTY1883k2YE28WaN-LuoESSq_8uC1hknPZaEAldjVgXmx6kwqNuMPeKPO_rsX4SvvmP2C17AlxDWMQy7KzWsSLTiVg90pHt3kwhTOvuf3oHE-q-3W__fp3kMnpK9f0J_fqEZtleaMGT0lQkXAT8x0\'\x3e\x3c/script\x3e\x3ciframe width=\"0\" scrolling=\"no\" height=\"0\" frameborder=\"0\" src=\"https://ads.pubmatic.com/AdServer/js/showad.js#PIX&ptask=DSP&SPug=1&fp=1&mpc=10&u=46116CB9-633A-46BB-BA11-F268CF5A6C1C&p=49307&s=134635&d=3&cp=0&sc=1&rs=0&os=0\" style=\"position:absolute;top:-15000px;left:-15000px\" vspace=\"0\" hspace=\"0\" marginwidth=\"0\" marginheight=\"0\" allowtransparency=\"true\" name=\"synciframe\"\x3e\x3c/iframe\x3e\x3c/span\x3e \x3c!-- PubMatic Ad Ends --\x3e\x3cscript src=\"https://aktrack.pubmatic.com/AdServer/AdDisplayTrackerServlet?operId=1&pubId=49307&siteId=134635&adId=1258688&adType=3&adServerId=243&kefact=4.000000&kaxefact=4.000000&kadNetFrequecy=0&kadwidth=2000&kadheight=1400&kadsizeid=326&kltstamp=1516294414&indirectAdId=0&adServerOptimizerId=2&ranreq=0.7060289141&kpbmtpfact=4.000000&dcId=3&tldId=33427726&passback=0&svr=BID22401&ekefact=DtFgWoplAQAQVMEhn-0I28LiQueRqTazgMaaTG_W_qaDl_rB&ekaxefact=DtFgWpllAQBHKDA1PO5SlSSrqajz_CQPDzD5E-11sxlSCe7O&ekpbmtpfact=DtFgWqZlAQDC0V7TN3946_U0jKGe4yNCEWMhLllzOzbt1EWv&imprId=F7FC4CB5-89CC-4236-BCF2-CCE661E900E2&oid=F7FC4CB5-89CC-4236-BCF2-CCE661E900E2&crID=20711596&ucrid=13260936440139721136&cntryId=57&campaignId=22924&creativeId=0&pctr=0.000000&wDSPByrId=4376&wDspId=391&isRTB=1&wDlId=2360911&wDlMtId=73238&wDlChnlId=1&domain=www.kupi.cz&pageURL=https%3A%2F%2Fwww.kupi.cz%2Fletaky%2Fobuv&sec=1&lpu=grundig.com\"\x3e\x3c/script\x3e


Problem je v tom, ze se ani nemuzu zbavit tech escapovanych znaku.

Kdyz to zkusim dekodovat:

jsondec = decodeURIComponent(JSON.content);

Tak se vubec nic nestane, jsondec je uplne stejny string jako ten puvodni JSON.content.

A ted pozor! Kdyz si ten JSON.content zkopiruju a do konzole zadam

decodeURIComponent("\x3cspan class=\"PubAPIAd\" id ...")

tak uz mi to vrati spravne dekodovane! Proc to decodeURIComponent funguje jenom v konzoli, ale v mem js ne?


Dalsi vec z ceho jsem zmateny, pokud si ten escapovany JSON.content proste zkopiruju a ulozim do promenne:

var str = "\x3cspan class=\"PubAPIAd\..."

Tak najednou funguje stranka.append(str) i bez jakehokoli dekodovani se to propise jako skript, nikoliv jako string....
 
hkmaly - Slava pomlcky -  .
Mas v zasade dve moznosti: udelat ty cary bordery a pouzivat jen uhly delitelne 45, nebo pouzit canvas nebo svg, ale pak bude vic prace i s temi boxy.
cestujicivnoci  
Když jsem objevil kouzelné slovíčko "flowchart", našel jsem spousty nejrůznějších knihoven, kterýma bych to zadání asi pokryl. Jen mám pocit, že to je v mém případě brutální overkill. Potřebuju jednoduché schéma, které si jednou nadefinuju a bude vždy stejné, jen se mi pro každou zakázku zobrazí jiný stav, tedy "z těchto 12 kroků už je 8 hotovo", "z těchto tří možností byla vybrána tato a nadále se šlo touto větví", "tento uzel je aktuální a čeká/nečeká na tvou akci". Jednotlivé uzly klikací, na ně si navěsím nějaké ty modály.
cestujicivnoci  
Hledám něco, v čem bych mohl vytvořit něco jako vývojový diagram. Představuju si to jako svislou řadu nějakých boxů, které budou na začátku všechny zašedlé a podle toho, jak se bude zakázka vyvíjet, se budou vizuelně označovat jako právě aktivní nebo splněné. Někdy ten postup bude z kroku na krok, někdy to bude výběr z variant, tedy rozvětvení z jednoho boxu třeba na tři. Nepotřebuju to nějak animovat a možná by se to obešlo i bez JS, ale nějaké ty hovery by se mně líbily. To, proč to neudělám sám, jsou ty čáry, kterýma bych to chtěl propojit. Neznáte na to něco? Díky.
 
ocs sine ira et studio  OCSite
(V Chromajzlu jsem měl taky problém, že v debuggeru se nějaká komunikace chovala dost zásadně jinak než bez něj. Osobně jsem dospěl k tomu, že pro většinu věcí preferuji ladicí výpisy před debuggerem.)
hkmaly - Slava pomlcky -  .
Mno dobre ale negace taky neni pravda. Ve firefoxu typicky mnozi efektove na tema jak debagovani zpusobi ze "uz to funguje".
Reakce na | Vlákno  
jdk bezprizorní dýchač čerstvého vzduchu 
Nemyslím si, že je to univerzálně pravda.

Minimálně debugování v Chromovské dev konzoli ti stopne i tu CSS animaci, pokud mě paměť neklame. Tedy pokud si dáš breakpoint hned za .fadeOut(), tak ten právě skrývaný element bude stále viditelný.
cestujicivnoci  
shown.bs.tab pomohlo! Děkuju pěkně.
Reakce na | Vlákno  
hkmaly - Slava pomlcky -  .
Odkrokovat? Kdyz pockas az ti prohlizec zobrazi krokovani tak se URCITE ten element stihne vykreslit. alertem precist width nebo tak neco.
Reakce na | Vlákno  
jdk bezprizorní dýchač čerstvého vzduchu 
Koukám na dokumentaci Bootstrapu - https://getbootstrap.com/docs/3.3/javascript/#tabs - a u volání .tab('show') tam stojí "Returns to the caller before the tab pane has actually been shown", takže ten graf se ti začne vykreslovat dřív, než je ten element doopravdy viditelný.

To je poměrně populární chyták, který třeba jQuery řeší přes callbacky. Typicky třeba u volání $.fadeIn(), po kterém se začne element animovat asynchronně/paralelně, takže kód, který je za tím, se provede, ještě než se ten element doopravdy doanimuje. U Bootstrapu na to mají, jak koukám, událost shown.bs.tab. Na tu se pověs a pak graf vykresli.

A co se týče toho druhého .show(), tak je to podivné, a asi bych si odkrokoval, jestli je jednak ten #graphdiv, do kterého kreslíš, opravdu viditelný a jestli tím .show() ten element tabu opravdu zobrazíš (což se zdá samozřejmé) a nekecá do toho nějak zase Bootstrap (což se zdá poměrně krkolomné, ale kdo ví).
cestujicivnoci  
To dává smysl a když tomu tabu csskem vynutím, aby se zobrazil, tak se to podle toho chová. Když to ale chci zobrazit jen pro to vykreslení grafu a pak skrýt, nějak se to brání:

//$('.nav-tabs a[href="#tab_3"]').tab('show');
$("#tab_3").show();

g2 = new Dygraph(
document.getElementById("graphdiv"),
"file.csv", // path to CSV file
{} // options
);

Obě ty "show" mají stejný důsledek - graf se nezobrazí, dokonce ani po té fintě s konzolou.
Reakce na | Vlákno  
jdk bezprizorní dýchač čerstvého vzduchu 
Co jsem se setkal já, tak většinou je to problém toho, že pokud má daný element display: none, tak je renderování grafu nemožné, protože element má nulové rozměry. Řešením je buď vykreslit graf až po zobrazení daného elementu (u tebe tabu) anebo před vykreslením grafu ten skrytý element na chvíli zobrazit (popř. i přesunout mimo viewport, aby to neblikalo), vykreslit graf, a element zase skrýt.
cestujicivnoci  
Nasazuju někam http://dygraphs.com a mám problém, který jsem už měl i s jinými JS grafy. Když je na bootstrapovém tabu, který po načtení stránky není výchozí, tedy je skrytý, po přepnutí na něj se graf nezobrazí. Pomůže něco, co bych nečekal - zobrazení konzole pomocí ctrl+shift+i. Můžu něco udělat pro to, aby se to nzobrazilo i bez toho?
 
JO, TO JE VONO! Dík. Ono je těch aplikaček víc a v některých ty podsložky jsou, ale ani to neni problém, vše dunguje.
Depák, na ňáký vosery s htaccessama jsem už moc starej...
Disassembler Artificial Intelligence is no match for  natural stupidity
Nestačí použít ≶base href="">? Za předpokladu, že tam nejsou resources v jiných podsložkách to prependuje zadanou cestu ke všem relativním URL.
jdk bezprizorní dýchač čerstvého vzduchu 
Pokud ti to běží pod Apachem, tak třeba úplný základ si můžeš přečíst tady https://www.jakpsatweb.cz/server/mod-rewrite.html
Jo, tak nějak jsem to pořešil. Ale víc by se mi líbilo, kdyby web uměl zobrazit aplikaci nezávisle na tom, co v ní je.
Jestli v tom js není parametr pro nastavení cesty k resourcům, tak si ho tam zaslouží dopsat.
To nevim jak :) S htaccessem neumim.
Zatim to řešim tou změnou v javascriptu, ale moc se mi to nelíbí.