JavaScript: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
PAWBot (discussione | contributi)
m clean up, replaced: PolaroidPolaroid, typos fixed: necessità di dovere → necessità di, y . → y.
Riga 53:
JavaScript e JScript contengono molte caratteristiche che non sono parte dello standard ufficiale ECMAScript, e possono anche essere privi di diverse caratteristiche. In tal modo, sono in parte incompatibili, il che porta gli autori di script a dovere sopperire a tali problemi durante la scrittura del [[software]]. Tra i due, JavaScript è più conforme allo standard: ciò significa che uno script redatto secondo gli standard ECMA funzionerà con la maggior parte dei browser, soprattutto se in versioni recenti.
 
Un altro effetto è che ciascun browser potrebbe trattare lo stesso script in modo diverso, e ciò che funziona in un browser potrebbe non funzionare in un altro, o in una diversa versione dello stesso browser. Come con l'HTML, è quindi raccomandabile scrivere codice conforme agli standard. Naturalmente negli anni sono state realizzate varie librerie e framework che possono essere usate per semplificare la scrittura di codice JavaScript che funzioni correttamente indipendentemente dal browser usato. Una delle librerie più conosciute e diffuse per semplificare la scrittura di semplici script all'interno di pagine HTML o PHP è [[jQuery]], mentre esistono numerosi framework per scrivere applicativi in JavaScript anche estremamente sofisticati (lato client e/o lato server) ignorando del tutto la necessità di dovere riconoscere quale browser utilizzerà l'utente finale.
 
==== Contromisure ====
Riga 634:
 
===== onError =====
Si attiva quando il caricamento di un oggetto causa un errore, ma solo se questo è dovuto ad un errore di sintassi del codice e non del browser così funziona su un link errato di un'immagine della pagina, ma non su un link errato di caricamento di una pagina intera. Opera non gestisce questo evento, ormai obsoleto: per una corretta gestione degli errori si utilizza il costrutto try ... catch;
 
===== onBeforeUnload =====
Riga 697:
Le notifiche di sistema sono progettate per richiedere l'attenzione dell'utente, mostrando un breve messaggio anche al di fuori della pagina corrente o anche se il browser non è al momento in primo piano. Data la loro potenziale invasività, è possibile utilizzarle solo se il sito ha già ottenuto dall'utente uno specifico consenso.<ref name="mozdev-notification-api" /><ref name="mozdev-notification-permission" />
 
Le notifiche di sistema, come suggerisce il nome, sono integrate coerentemente al dispositivo corrente (su desktop è spesso un [[pop-up]], su mobile è spesso nella barra di notifica, etc.).<ref name="mozdev-notification-permissionapi">{{Citacita web
|url = https://developer.mozilla.org/en-US/docs/Web/API/Notification/permission
|accesso = 23 giugno 2022
|lingua = en
|titolo = Notification.permission
}}</ref><ref name="mozdev-notification-api">{{cita web
|url = https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API
|lingua = en
|titolo = Using the Notifications API
|accesso = 23 giugno 2022
}}</ref><ref name="mozdev-notification-apipermission">{{citaCita web
|url = https://developer.mozilla.org/en-US/docs/Web/API/Notification/permission
|accesso = 23 giugno 2022
|lingua = en
|titolo = Notification.permission
}}</ref>
 
Riga 734:
L'approfondimento della documentazione ufficiale permette di effettuare ulteriori buone pratiche, fra le quali:
 
* verifica del supporto (per esempio [[Safari]] su [[iOS]] è noto per non aver raggiunto un ottimo supporto)<ref name="mozdev-notification-permission" /><ref>{{Cita web
|url = https://caniuse.com/mdn-api_notification_requestpermission
|titolo = Notification API: requestPermission
|accesso = 23 giugno 2022
|lingua = en
}}</ref>
}}</ref><ref name="mozdev-notification-permission" />
* rispetto del consenso pregresso (evitare di richiedere molteplici richieste di consenso)
* rispetto del dissenso (evitare di tentare l'apertura di notifiche se non c'è consenso)
Riga 1 001:
{{vedi anche|JQuery|JQuery UI|tooltip}}<gallery>
File:Javascript-menu.png|alt=Menu JS a tendina|Menu JS a tendina
File:Javascript-gallery-polaroid.png|alt=Galleria di immagini JS Drag and Drop stile Polaroid|Galleria di immagini JS [[Drag and drop|Drag and Drop]] stile [[Sistema Polaroid|Polaroid]]
File:Javascript-tooltip.png|alt=Tooltip JS|[[Tooltip]] JS
</gallery>