Vecchi browser e Polyfills

0

Polyfilling, quando è troppo?

Ho riassunto questa domanda in un unico sentimento.

È pratico riempire con polifratura tutte le carenze di IE8 con un solido file javascript, come in, ci sarebbero eventuali svantaggi (prestazioni) o blocchi (impossibilità di polifivare alcune funzionalità)?

Deprecazione delle domande: (cronologia)

Ho lavorato con la mia compagnia per circa sei mesi e abbiamo costantemente lottato con i clienti per aggiornare i loro browser. Tutti pensano che passare a un browser più recente non farà altro che introdurre più problemi che soluzioni (hanno applicazioni web interne e vecchie progettate per il lavoro interno)

Sono al punto in cui ho dovuto dare la caccia e il polyfill di così tante cose con IE8 che mi chiedo se ci sia qualche svantaggio nel polyfilling di ogni deficienza di IE8 (o almeno facendolo in modo che il javascript non dia errore / errore)

È irragionevole aspettarsi di essere in grado di risolvere tutti i difetti dei vecchi browser obsoleti come IE6-IE8, o sarebbe una cattiva idea (performance? stabilità?) ...

Se questa è una possibilità, come mai non ci sono librerie di polyfill complete, tutti punteranno a "modernizr", ovvero FEATURE DETECTION, e non offrono polifivaggi di sua proprietà.

Quindi, dove si nasconde la libreria IE8 master / full polyfill, o dovrò schiavizzare su questo?

Modifica: il motivo per cui non sto solo selezionando le parti di cui ho bisogno, è perché potrebbero esserci delle carenze di cui non siamo a conoscenza, mi piacerebbe avere una correzione-tutto per Internet Explorer, quindi se questo non funziona esisterà che lo farò da solo. *

    
posta Mike 13.08.2014 - 18:45
fonte

2 risposte

2

Is it practical to polyfill all of the IE8 deficiencies with one solid javascript file ...?

Non proprio, No. Come esempio, inizia con < canvas > . Esistono diversi "polyfill" disponibili , ma la maggior parte dei plugin per browser come Flash o Silverlight. Si tratta di un approccio decisamente diverso rispetto al semplice patch di scimmia del prototipo di array JavaScript per aggiungere un indexOf funzione. Una tela finta dipende da software di terze parti. Potrebbe essere meglio di niente, ma non è certamente a prova di proiettile. Probabilmente non ha senso includerlo in un polyfill master IE8 poiché gli obiettivi di tutti e le limitazioni tecniche variano.

I polyfill SVG condividono lo stesso problema. Alcuni target VML, altri < canvas > e almeno un target Flash. I polyfill audio e video HTML5 tornano in Flash. I polyfill di geolocalizzazione e socket Web utilizzano meccanismi molto diversi rispetto all'API nativa. Potrebbero funzionare alla grande per te. Inoltre, potrebbero non farlo.

Potresti avere più fortuna con gli shim di ECMAScript, ma anche lì potresti incorrere in problemi. Ad esempio, dai un'occhiata alla "potrebbe non riuscire" API di es5-shim. Non è possibile garantire un comportamento perfetto senza supporto nativo.

Alla fine, è meglio per tutti scegliere e scegliere che cosa useranno e quando. È un dolore, ma i tuoi utenti e il personale di supporto ti ringrazieranno per questo.

    
risposta data 13.08.2014 - 23:35
fonte
0

A seconda di ciò che si sta facendo, le prestazioni possono essere un grosso problema. Polyfill può risolvere molti problemi di programmazione / api ma non è possibile rendere il vecchio motore javascript da nessuna parte come performante come i browser moderni. Cose come il filtrare elenchi di grandi dimensioni lato client causeranno un notevole ritardo su IE ma ad esempio funzioneranno bene sui browser moderni.

    
risposta data 14.08.2014 - 00:16
fonte

Leggi altre domande sui tag