Sto cercando di memorizzare molti dati in un parametro hash dell'URL senza superare i limiti di caratteri dell'URL.Compressione stringa JavaScript per il parametro hash dell'URL
Esistono metodi convenzionali di compressione della lunghezza della stringa che possono essere decodificati su un altro caricamento di pagina?
Ho visto LZW encoding utilizzato per soluzioni simili, tuttavia i caratteri speciali sarebbero validi per questo utilizzo?
Una soluzione alternativa se si dispone di un DB è quella di memorizzare la stringa non compressa, dargli un ID e utilizzarlo nell'hash. Il client può quindi recuperare gli argomenti iniziali tramite una richiesta AJAX. Questo è un ulteriore viaggio di andata e ritorno, ma potrebbe essere accettabile. Lo stato è condivisibile tra i clienti? In caso contrario, è possibile archiviare eventi nel 'localStorage'. – plalx
@plalx Grazie, lo stato è condivisibile tra i client, ma purtroppo non ci sono requisiti per lo storage back-end. – Curt
Il problema con un algoritmo di codifica è che non si può essere sicuri di non superare mai il limite, a meno che non si conoscano tutte le combinazioni potenziali e che ciò implichi dati statici. Credo che il livello di compressione potenziale dipenda anche da ciò che stai effettivamente codificando. Per esempio. gzip sembra abbastanza bravo a gestire i frammenti ripetitivi. – plalx