Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    $.getScript di jQuery trasformato in semplice Javascript

    Salve a tutti!
    Vorrei sapere come caricare in modo dinamico delle pagine javascript esterne all'interno di un blocco di codice javascript.
    Vorrei, insomma, effettuare la stessa identica operazione che jQuery utilizza tramite getScript, ma utilizzando solo ed esclusivamente il buon vecchio Javascript.
    Qualcuno sa dirmi come fare?
    Ho provato in questo modo, ma nulla:
    codice:
    <HTML>
    <HEAD>
    <SCRIPT TYPE='TEXT/JAVASCRIPT'>
    
    function ini_ajax(){
    try{ return new XMLHttpRequest();} catch(e){ 
    try{ return new ActiveXObject('Msxm12.XMLHTTP');} catch(e){
    try{ return new ActiveXObject('Microsoft.XMLHTTP');} catch(e){
    return alert("Il tuo browser non supporta il linguaggio AJAX o e' troppo vecchio per sfruttare le funzionalit&agrave del sito. Aggiorna il tuo browser per poterlo visualizzare");}}}}
    
    function prova1(){
    alert($(document).width());
    }
    
    function carica(){
    var v_ajax=ini_ajax();
    v_ajax.open("GET","jquery.js",true); v_ajax.send();
    }
    
    </SCRIPT>
    </HEAD>
    <BODY>
    <DIV onclick='prova1()'>Prova1</DIV>
    
    <DIV onclick='carica()'>Carica</DIV>
    
    <DIV onclick='prova1()'>Prova2</DIV>
    </BODY>
    Vorrei, in questo modo, caricare la libreria jQuery solo quando decido io di caricarla.
    Il file contenente jQuery denominato jquery.js si trova all'interno dello stesso dominio in cui effettuo la richiesta AJAX, quindi non ci dovrebbero essere problemi.
    Perchè così non va?
    Come potrei fare?

    Grazie a tutti e scusatemi della perdita di tempo.
    Saluti

    Marco

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    cerca qui nella sezione ajax
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Considera che nativamente il javascript non carica script javascript, inoltre le librerie meglio caricarle quando si genera il documento non dopo in ajax, vedi se un inclusione lato server (php o asp) può aiutarti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Ti ringrazio, ma a questo punto la domanda viene spontanea: come fa jQuery, scritto in javascript puro, ad effettuare questa azione?
    Inoltre non ritiene che sia può efficace caricare gli script in momenti e luoghi diversi per garantire una maggior velocità ed un minor consumo di banda?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da marco476
    Ti ringrazio, ma a questo punto la domanda viene spontanea: come fa jQuery, scritto in javascript puro, ad effettuare questa azione?
    come fa nello specifico non lo sono non sono "sviluppatore" ma utilizzatore ritengo che come "libreria" quando viene richiesto un "oggetto" specifico venga "mostrato" ma l'oggetto è comunque caricato nel documento non richiamato dal server.
    Inoltre non ritiene che sia può efficace caricare gli script in momenti e luoghi diversi per garantire una maggior velocità ed un minor consumo di banda?
    Ma non credo sia possibile, per questo normalmente viene usata la versione min (compatta) e caricata da google o da jquery per consumare meno banda
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    cerca bene perche' esistono gia' librerie standalone per fare quello che chiedi,
    gia' testate per bene

  7. #7
    Cercando un pò in giro ho messo mano a poche righe di codice che sembrano funzionare molto bene. Vi posto il codice:

    codice:
    cante={
       car_script:function(x){
       var y=document.createElement("SCRIPT");
       y.setAttribute("TYPE","TEXT/JAVASCRIPT"); y.setAttribute("SRC",x);
       document.head.appendChild(y);
       }
      }
    Vi ringrazio come sempre per gli innumerevoli aiuti..ricordo il mio primo topic aperti su questo forum dove chiedevo suggerimenti su HTML..ed ora mi ritrovo ad iniziare il primo anno di informatica all'università con già solide basi (per quanto riguarda la programmazione, intendiamoci ) per affrontare questa facoltà grazie anche a voi ed ai vostri infiniti aiuti

    Grazie ancora,
    Marco

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    di nulla ...e auguri per una brillante carriera

    quanto hai postato e' corretto (non mi e' chiaro il perche' dell' uppercase, ma non dovrebbe essere vincolante)
    pero' ti raccomando di appoggiarti a soluzioni collaudate qualora avessi bisogno di scatenare un evento al completo caricamento dello script esterno

    ciao

  9. #9
    Grazie mille, siete veramente troppo gentili e sempre disponibili.

    Grazie ancora e buona giornata
    Saluti

    Marco

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 © 2025 vBulletin Solutions, Inc. All rights reserved.