C'è solo parte Ajax di jQuery? La questione è che non ho bisogno dell'intera libreria ma solo della sua parte Ajax (ho bisogno di includere questa parte su diversi iframe).C'è solo una parte Ajax di jQuery?
risposta
È tutto o niente. Ovviamente jquery è open source e potresti estrarre la parte che ti interessa nella tua libreria (buona fortuna con questo). Puoi prendere in considerazione l'utilizzo di un CDN che assicurerà che la maggior parte degli utenti lo abbia già memorizzato nella cache del browser, quindi non dovresti preoccuparti delle dimensioni.
perché buona fortuna? che cosa c'è che non va? – fgfgfgghjh
Niente di male, potrebbe essere solo un compito impegnativo e quando uscirà una nuova versione di jQuery potresti dover ricominciare da capo se vuoi usare questa nuova versione. –
@fgf solo se hai davvero un po 'di tempo in più e non sai davvero come utilizzarlo (come un mese o due) strappare parti di jQuery è degno di considerazione. –
Non c'è nessuno pronto, ma è possibile ovviamente tagliare e incollare dal file esistente e quindi ridurlo a icona.
Se si è solo preoccupati delle dimensioni della libreria che serve da un CDN di Google, MS o jQuery richiederà probabilmente meno traffico dati poiché la maggior parte dei browser ha già i file nella cache.
Come già dice Darin, è tutto o niente. Le funzioni Ajax di JQuery sono strettamente intrecciate con il resto della funzionalità.
Ci sono alcune altre librerie Ajax stand-alone in giro come Matt Kruse's Ajax toolbox - forse questo aiuta.
Vorrei prendere in considerazione il caricamento della libreria jQuery completa. Se si collega a jQuery on a CDN, i tempi di caricamento saranno minuscoli.
personalmente mi piace amplify.js –
@johnSmith Amplify.js si affida a jQuery per eseguire la richiesta Ajax, esattamente l'opposto di ciò che l'OP vuole. –
Se si desidera veramente solo le parti Ajax di jQuery è possibile ottenere il codice dal proprio repository (https://github.com/jquery/jquery), osservandolo si vorrà vedere "ajax.js" e "core.js" nel " directory "src". Dovresti quindi compilarli insieme al compilatore di chiusura o qualcosa del genere.
Ma come altri hanno affermato, sarebbe molto più semplice caricarlo da uno dei CDN (jQuery, Google, Microsoft) che la maggior parte degli utenti avrà comunque memorizzato nella cache.
ho creato un generazione personalizzata di jQuery 1.7.1 qui:
[L'ho creato] (https://github.com/thorsummoner/jquery-ajax) per le persone che non possono farlo, da jQ-1.7.1, un intero [minino 41 KB] (https://raw.githubusercontent.com/thorsummoner/jquery-ajax/jquery-ajax/jquery.min.js) Nessuna garanzia! – ThorSummoner
Come di jQuery 1.8 si può fare: LINK
SÌ, ho appena fatto il mio, http://noypi-linux.blogspot.com/2013/05/build-jquery-with-ajax-only.html
solamente bisogno di questi file (risultante minified fa circa 30Kb):
/d/dev/javascript/jquery/jquery/src/intro.js
/d/dev/javascript/jquery/jquery/src/core.js
/d/dev/javascript/jquery/jquery/src/callbacks.js
/d/dev/javascript/jquery/jquery/src/deferred.js
/d/dev/javascript/jquery/jquery/src/support.js
/d/dev/javascript/jquery/jquery/src/data.js
/d/dev/javascript/jquery/jquery/src/event.js
/d/dev/javascript/jquery/jquery/src/serialize.js
/d/dev/javascript/jquery/jquery/src/ajax.js
/d/dev/javascript/jquery/jquery/src/ajax/xhr.js
/d/dev/javascript/jquery/jquery/src/exports.js
/d/dev/javascript/jquery/jquery/src/outro.js
Grazie per aver fatto riferimento a questo post. Ho messo un progetto su Github basato su questo. Fa qualche rinominazione globale per evitare conflitti https://github.com/dbennett455/jqAjax –
30kb è MOLTO per just ajax() – developerbmw
questo è jquery ajax. –
Aggiornamento 2016
È possibile utilizzare questo strumento per costruire la propria versione personalizzata jQuery.
Come di jQuery 2.1.1
file di dimensioni complete unminified è: 241,55 Kb
Ajax Solo minified è: 49.60 Kb
Questo è un 5x riduzione delle dimensioni.
Cosa sta succedendo con quel modulo? Se seleziono 'none', viene visualizzato' Filesize: 187.84 Kb/Gzip: 55.69 Kb' che dovrebbe essere 0, se seleziono solo ajax allora ottengo ancora di più 'Filesize: 222.03 Kb/Gzip: 66,51 Kb' c'è ** NO ** opzione che genera '49.60 Kb' – samayo
@samayo Ho modificato il mio post in modo da poter controllare la risposta. – Neoaptt
È possibile visualizzare le alternative JavaScript standard a jQuery a youmightnotneedjquery.com
Per esempio l'alternativa al $.ajax
post
è:
var request = new XMLHttpRequest();
request.open('POST', '/my/url', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(data);
E l'alternativa a $.ajax
get
è:
var request = new XMLHttpRequest();
request.open('GET', '/my/url', true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
// Success!
var resp = request.responseText;
} else {
// We reached our target server, but it returned an error
}
};
request.onerror = function() {
// There was a connection error of some sort
};
request.send();
Un'altra opzione sarebbe quella di utilizzare l'API fetch
integrata fornita dal browser.
Ecco un frammento di esempio:
fetch('http://localhost:3000/users.json', {
method: 'POST',
mode: 'cors',
redirect: 'follow',
body: JSON.stringify({
user: {
firstName: 'john',
lastName: 'doe'
}
}),
headers: new Headers({ 'Content-Type': 'application/json' })
}).then(function() {
/* handle response */
});
This blog post è una grande introduzione alla API e mostra più casi d'uso.
fetch
non ha ancora il supporto completo per i browser (credo che manchino principalmente IE e Safari), ma c'è del polyfill che è possibile utilizzare fino a quel giorno.
fetch
polyfill: https://github.com/github/fetch
più vecchio dei browser anche bisogno di un Promise
polyfill (one option, another option).
Non consiglierei di utilizzare il recupero in produzione. Ho appena affrontato alcuni strani problemi in Safari (su macOS Sierra e iOS 10). Forse sono solo io che sono stupido, ma non penso che valga la pena il tempo di debug. – yuji
L'ho menzionato nel post e suggerisco di utilizzare un polyfill per ora. Grazie per aver evidenziato il problema però. –
L'utente AMD legge this, la mia risposta è per la creazione di un singolo file.
O semplicemente usare questa libreria: ded/reqwest (4 KB, min & gzip)
Scarica source code ed eseguire
npn i
Aprire
/src/jquery.js
e rimuovere eventuali Moudle non si vuole, ma keep"./exports/amd"
,"./exports/global"
define([ "./ajax", "./ajax/xhr", "./ajax/script", "./ajax/jsonp", "./exports/amd", "./exports/global" ], function (jQuery) { "use strict"; return jQuery; });
Run
grunt custom:-sizzle
Goto
/dist
e prendere il vostro costruire
moduli in costruzione ora:
- nucleo
- differita
- ajax
Dimensione:
- appena costruita: 85 KB
- compilazione con min: 26 KB
- compilazione con min & gzip: 10 KB
build: https://gist.github.com/zcyzcy88/393ca7dc76d22f3e5a4592f59f675ad1 – zcyzcy88
- 1. Carica solo una parte di una pagina con jquery
- 2. jQuery corrisponde solo a una parte dell'id dal div
- 3. Lettura di una parte della risposta html ajax
- 4. Associazione solo di una parte di un'etichetta
- 5. Jquery ajax errore casuale in Chrome solo
- 6. Rebase solo una parte di un ramo
- 7. Come chiamare ajax solo una volta
- 8. Utilizzare la funzione Ajax() in Jquery per caricare PARTE di una pagina esterna in div
- 9. Wrapping una parte di html utilizzando jQuery
- 10. jQuery - Solo una volta
- 11. xamarin.Forms scorre solo una parte della pagina
- 12. errore: un'etichetta può essere solo una parte di una dichiarazione
- 13. Come posso scaricare solo una parte di una pagina?
- 14. ottiene solo una parte di una matrice in Java?
- 15. jQuery Ajax Richiesta interna Ajax
- 16. HTML5 video - riproduzione solo di una parte di un video
- 17. Validazione Ajax con jquery?
- 18. Ottenere TypeError: $ .ajax (...). Done non è una funzione [Ajax, Jquery]
- 19. Aggiornare solo una parte di un file binario con C++
- 20. WPF. Come mostrare solo parte di una grande tela?
- 21. Colore solo una parte di un elemento HTML
- 22. Come firmare solo una parte specifica di XML
- 23. Sostituzione solo una parte di espressione regolare corrispondenza
- 24. jQuery AJAX con intervallo
- 25. Jquery .ajax() test locale
- 26. jQuery $ .ajax() con PHP
- 27. jquery ajax errore callback
- 28. jquery ajax post cancellato
- 29. di default jQuery Ajax statusCode
- 30. Jquery $ .ajax statusCode Else
Qualsiasi problema se si sceglie di includere l'intera lib? Non è così pesante. – Kangkan
Anche se lo si utilizza in più iFrame, verrà scaricato solo una volta. Il browser è solitamente così intelligente. Utilizzare la versione minificata. È solo 26kb. Gli iframes – jwueller
provengono da diversi sottodomini (come sss.exemp.net e ggg.exemp.net) – fgfgfgghjh