Perché è meglio usare JavaScript o librerie esterne; e si preferisce usare jquery che significa più sicurezza?

2

Ho letto questo articolo JavaScript non intrusivo con jQuery e ho notato questi punti nella pagina della diapositiva 11

  • alcune aziende tolgono JavaScript al firewall
  • alcuni eseguono l'estensione NoScript per Firefox per proteggersi dagli attacchi XSS e CSRF più comuni
  • molti dispositivi mobili ignorano completamente JavaScript
  • screen reader do esegue JavaScript ma i problemi di accessibilità significano che potresti non volere che siano

Non ho capito il quarto punto. Cosa significa?

Ho bisogno del tuo commento e delle tue risposte su questi punti. Non sta usando JavaScript e il passaggio a librerie come jQuery vale la pena?

UPDATE 1:

qual è il significato di JavaScript discreto con jQuery ? e sì non dice che dovremmo usare le librerie ma dovremmo averle su file esterni per questo motivo ho fatto la mia domanda.

    
posta shareef 01.07.2012 - 10:37
fonte

5 risposte

6

Ecco un metodo jQuery:

function (deep) {
    if (window.$ === jQuery) {
        window.$ = _$;
    }

    if (deep && window.jQuery === jQuery) {
        window.jQuery = _jQuery;
    }

    return jQuery;
}

Come puoi vedere, è semplice javascript. jQuery è javascript. È un insieme di metodi per aiutarti a produrre codice più velocemente.

jQuery non è qualcosa di magico.

La parte "non invadente" può essere eseguita usando semplicemente javascript.

Il fatto è che, qualche anno fa, le persone utilizzavano javascript in questo modo:

HTML:

<a href="#" onclick="javascript:someMethod();"></a>

JS:

function someMethod() {
}

Questo è invadente , perché il codice javascript è nell'HTML. Questo è mescolare il contenuto e il comportamento. Non molto buono per molte ragioni (manutenibilità, soprattutto).

Tuttavia, in javascript, puoi anche fare:

document.getElementById( 'someId' ).onclick = someMethod;

function someMethod() {
}

Ma javascript è stato visto come un brutto linguaggio per i bambini, quindi nessuno si è preso la briga di fare qualcosa di carino.

Tipo di jQuery di javascript democratizzato, e consente di fare rapidamente qualcosa come:

$( '#someId' ).click( function() {
} );

Ecco perché è "non invadente javascript con jQuery".

PS: non sto menzionando gli altri problemi (firewall, mobile, ecc.) come sono trattati nelle altre risposte.

    
risposta data 01.07.2012 - 13:01
fonte
3

Tutti i tuoi punti sono completamente estranei al fatto che tu stia usando un semplice JavaScript o una libreria come jQuery (che è scritta anche in JavaScript).

  • Firewall: se rimuovono JavaScript, anche la tua libreria e il codice che la utilizza verranno eliminati. Tuttavia, al giorno d'oggi una simile configurazione del firewall è estremamente improbabile.
  • NoScript: blocca anche entrambi. E le persone che lo utilizzano autorizzeranno un sito che intendono utilizzare se ha bisogno di JS.
  • I dispositivi moderni di solito dispongono di moderni browser basati su webkit che eseguono JavaScript altrettanto bene di un browser desktop.

Hai semplicemente frainteso l'articolo a cui ti sei collegato. Si tratta di far funzionare le pagine anche senza JavaScript, quindi le persone che non hanno JavaScript abilitato per qualche motivo possono utilizzare la tua pagina.

    
risposta data 01.07.2012 - 10:58
fonte
1

jQuery è scritto in Javascript. È è Javascript. Tutto ciò che blocca Javascript bloccherà jQuery (e tutti questi framework).

Quasi tutti i dispositivi mobili dispongono del supporto Javascript completo.

Gli screen reader sono per le disabilità legate alla vista. Leggono ad alta voce ciò che è sullo schermo.

    
risposta data 01.07.2012 - 10:57
fonte
1

L'ultima misurazione che ho visto di coloro che avevano disabilitato JavaScript era nel 2011 e indicava un calo continuo inferiore al 2% degli utenti di Internet.

Ecco un post di StackOverflow che fornisce risultati simili.

    
risposta data 01.07.2012 - 20:07
fonte
0

Eseguire qualsiasi metodo di un librabry writter in javascript, significa eseguire javascript. La libreria di JQuery funziona come un javascript wrap. Se si esegue un metodo JQ sulla propria pagina, verrà eseguito e tradotto come metodo javascript.

Il motore Javascript esiste in ogni luogo in cui è possibile visualizzare una pagina web.

    
risposta data 01.07.2012 - 11:40
fonte

Leggi altre domande sui tag