Uložení velkých dat z JavaScriptu

KapitánRUM

Re:Uložení velkých dat z JavaScriptu
« Odpověď #15 kdy: 16. 12. 2012, 22:00:32 »
Ovšem v takovém případě by k cizímu webu přistupoval z jiného místa a narážíme na XSS Filtering, to má podle mě už hodně lepších webů a serverů podchycené.

Právě proto je to lepší řešit přes Proxy, prohlížeč pozná prd a data si můžeš posílat o 106 a to včetně řídících povelů a ukládání dat tam i zpět.




Karel Bezděda

Re:Uložení velkých dat z JavaScriptu
« Odpověď #16 kdy: 18. 12. 2012, 15:39:38 »
Dekuji vsem za odpovedi. Pokus o trolling s GreaseMonkey hodnotim +1. Myslim, ze to mam vyreseno.

Prevedu si data do JavaScript (JS) stringu (kteremu nevadi, ze obsahuje nulove znaky). Vytvorim si pomocny element, do ktereho navazu tento string pomoci setAttribute. Vytvorim si event, ktery z elementu "dispatchnu" a chytim si ho v extensionu, coz bylo cilem.

Jsou tam urcita omezeni (napr. dlouhy string budu muset rozdelit).

Mate k tomu nekdo nejake pripominky?

Zopper

  • *****
  • 766
    • Zobrazit profil
Re:Uložení velkých dat z JavaScriptu
« Odpověď #17 kdy: 07. 01. 2013, 13:48:36 »
K tomu odkazu:

Maximum call stack size exceeded :D Ok, zmiňuješ to... jen pro informaci: dělá to ta konverze z Uint8Array na string.

Nechápu, co máš s těmi nulovými znaky - v normálním textu se přece \0 (NULL) vyskytne akorát na konci - to že si generuješ náhodná čísla v ASCII rozsahu včetně NULL je tvůj problém.
Kód: [Vybrat]
var b = Math.floor((Math.random()*255)+1); a nenajde to ani jeden NULL.

Když jsme u toho: nemíchej pojem "zero" a "null", jsou to dvě různé hodnoty.

Další věc:
Kód: [Vybrat]
if(myNode) {
   document.lastChild.removeChild(myNode);
  }
  myNode = document.lastChild.appendChild(document.createTextNode(
   String.fromCharCode.apply(null, arr)));
 }
Tohle je právě to, co zmiňoval 42 - "Problém nastane ve chvíli, kdy bude skript nepromyšlený, kdy budeš často načítat data z DOM a pracovat se stránkou jako takovou."

Já sice chápu, že tohle je jen zápis výsledku, ale i tak... Proč měníš DOM, když to není nutné? Tady by stačilo element.innerText (ten je minimálně o řád rychlejší než nahrazování elementu - a když už potřebuješ vložit i nějaké HTML, zvaž použití innerHTML - to je taky o něco rychlejší, byť jen o pár procent).

K tomu nápadu:
K čemu tam máš ten mezikrok s pomocným elementem? A navíc ještě cpát dlouhé texty do attr? :o  Brr, fuj!

andrej

Re:Uložení velkých dat z JavaScriptu
« Odpověď #18 kdy: 07. 01. 2013, 18:58:12 »
data stiahnes tym javascriptom co uz asi mas
na stranke budes mat podpisany applet ktory bude mat pristup na lokalny filesystem.
javascriptom zavolas javovu funkciu a odovzdas jej data, tie potom java ulozi na lokalny filesystem.

Karel Bezděda

Re:Uložení velkých dat z JavaScriptu
« Odpověď #19 kdy: 15. 01. 2013, 10:21:13 »
Díky za reakci Jane.

Napsal jsem si na to pomocný doplněk a na stránce vytvářím jen jeden pomocný element. Data do něj posílám pomocí události (document.createEvent, event.initCustomEvent, element.dispatchEvent). V doplňku naslouchám své události a data ukládám.

Je to tak lepší? Pokud byste měl nějaké další připomínky, tak mi napište email, prosím. Tady to nestíhám sledovat.


Re:Uložení velkých dat z JavaScriptu
« Odpověď #20 kdy: 15. 01. 2013, 10:22:19 »
Díky za reakci Jane.

Napsal jsem si na to pomocný doplněk a na stránce vytvářím jen jeden pomocný element. Data do něj posílám pomocí události (document.createEvent, event.initCustomEvent, element.dispatchEvent). V doplňku naslouchám své události a data ukládám.

Je to tak lepší? Pokud byste měl nějaké další připomínky, tak mi napište email, prosím. Tady to nestíhám sledovat.