Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    residenza
    Pianeta Terra
    Messaggi
    1,614

    Alternativa a jquery load per ottenere solo una parte di una pagina

    Sto facendo uso di jquery .load() per caricare una parte di una pagina:

    Codice PHP:

    $('#stop_it').on('click',function(){
    var 
    chat = $("#history");
    chat.load(window.location " #history > * ");
    }); 
    Quando però ispeziono l'elemento con chrome inspector - scheda "network", vedo che viene caricata l'intera pagina che contiene alcuni script che poi non funzionano più perché ovviamente vengono duplicati ----> script pagina originale + script window.loacation.
    Per vedere il tutto in azione si può vedere la pagina di esempio di jquery.

    Stavo quindi cercando un alternativa client side (se esiste) per caricare solamente il contenitore in questione.
    Per una bella risata vai QUI

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    io conosco e uso questo $( "#result" ).load( "ajax/test.html #container" ) indicando un id o una classe visualizzera solo quel/i blocchi
    Ultima modifica di cavicchiandrea; 18-05-2015 a 18:15
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    residenza
    Pianeta Terra
    Messaggi
    1,614
    Se guardi nel chrome inspector (o qualsiasi altro debugger) e clicchi nella scheda "network" vedrai che ti carica l'intera pagina perché, di fatto, .load() è una chiamata ajax. Stavo cercando di evitare a dover ricaricare ogni volta l'intera pagina.
    Prova ad andare sulla pagina di documentazione di .load() (link sopra), apri l'inspector - scheda tab e poi ricarica la pagina. Vedrai che ti ricarica l'intera pagina, anche se il risultato che vedi è solo il #contenuto caricato.

    Stavo cercano appunto un alternativa client side ma a quanto pare non esiste.
    Secondo la mia modesta opinione, .load() cosi è piùttosto inutile perché in background ti carica ogni volta l'intera pagina. Nel mio caso la pagina è +/- di 40 kb

    EDIT: Questa è la pagina che caricano nell'esempio.
    Ultima modifica di Nobody33; 18-05-2015 a 18:15
    Per una bella risata vai QUI

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    D'altronde load è una chiamata ajax, se gli dai impasto tutta la pagina caricherà tutta la pagina, è per questo che quando si sviluppa una pagina che andrà caricata tramite ajax è consigliato costruirla usando solo quello che serve (testi e immagini strettamente necessari) senza nulla di più
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2010
    residenza
    Pianeta Terra
    Messaggi
    1,614
    A quanto pare quindi l'unico modo di caricare solo quella parte del contenuto è di fare una chiamata ajax/ "seria" (json) e il resto farlo lato server? Cioè caricare solamente via ajax/ json la parte che serve.

    Se la risposta è positiva, è un po' un casino, perché il codice si allunga di +/- una 50ina di righe :-(
    Per una bella risata vai QUI

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    non capico che problemi trovi con load, come ha già detto cavicchiandrea load carica quello che gli dai in pasto, sei gli dai tutta la pagina caricherà nel div associato tutta la pagina, se gli dai una riga di codice carica solo quella riga. Qual'è il problema? non puoi modificare la pagina? Se è questo il caso puoi manipolare l'output escludendo le parti che non ti interessano
    Ultima modifica di Vindav; 18-05-2015 a 20:19

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2010
    residenza
    Pianeta Terra
    Messaggi
    1,614
    Il problema con il .load() è che ha i suoi limiti (abbastanza stretti).
    Va benissimo per caricare pagine statiche, ma quando si ha a che fare con contenuti dinamici la cosa si complica parecchio. Tanto vale trasformare il codice server side direttamente in json per poi fare una chiamata ajax. Riduce il lavoro del server e si ha più controllo sul' output.
    Ultima modifica di Nobody33; 19-05-2015 a 03:01
    Per una bella risata vai QUI

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Il problema con il .load() è che ha i suoi limiti (abbastanza stretti).
    Va benissimo per caricare pagine statiche, ma quando si ha a che fare con contenuti dinamici la cosa si complica parecchio. Tanto vale trasformare il codice server side direttamente in json per poi fare una chiamata ajax. Riduce il lavoro del server e si ha più controllo sul' output.
    Tutte considerazione personali che non condivido assolutamente. Probabilmente non ne hai compreso bene il funzionamento.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2010
    residenza
    Pianeta Terra
    Messaggi
    1,614
    Tutte considerazione personali che non condivido assolutamente. Probabilmente non ne hai compreso bene il funzionamento.
    @vindav: Qualche contributo costruttivo? Che scopo ha questa affermazione?
    Certo che la mia è un'affermazione personale. Che poi il .load() ha dei limiti ristretti (sempre per i miei scopi) è un fatto.

    Per una bella risata vai QUI

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Sei il primo che dovrebbe dare un contributo alla discussione, invece alla mia domanda hai risposto con

    Il problema con il .load() è che ha i suoi limiti (abbastanza stretti).
    spiegare quali sono secondo te questi limiti? Ora dici pure che è un fatto, magari è un fatto nel tuo contesto della tua applicazione, bene spiegaci perchè. Ad una affermazione del genere cosa ti aspettavi come risposta? Probabilmente la miglior risposta era non rispondere nemmeno.

    La soluzione te l'ho già data, ma mi pare che l'hai ignorata tranquillamente.

    Se è questo il caso puoi manipolare l'output escludendo le parti che non ti interessano
    Probabilmente si tratta di aggiungere si e no due o tre righe di codice, secondo te invece, se non ho capito male, è meglio farlo lato server con json.

    Tanto vale trasformare il codice server side direttamente in json per poi fare una chiamata ajax
    Cosa significa e che centra con la chiamata load di cui parlavi prima? Perche secondo te è meglio farlo cosi?

    Insomma dai spiegazioni a dir poco lacunose però poi ti lamenti di non avere contributi costruttivi?

    Va beh, buona fortuna!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.