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

    Inserire funzione in uno span

    Salve
    sto cercando di includere uno script all'interno del mio documenti XHTML in maniera non intrusiva.
    Quello che vorrei fare è semplice:
    al caricamento della pagina vorrei che in tutti gli elementi span venisse caricata una certa funzione:

    quindi io faccio così:

    codice:
    function initSpanBehavior()
    {
      var spans = document.getElementsByTagName('span');
      /* allinterno dello span vorrei che inserisse questa funzione ma non so come fare!! */
        AC_FL_RunContent(...);
    }
    
    window.onload = function () 
    {
      initSpanBehavior();
    }
    ma ovviamente non fuziona..
    cosa manca al mio script perchè funzioni?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  2. #2
    Ci dici troppo poco...

    Prova ad eseguire quella pagina in Firefox con caricato FireBug e dicci che errori ti dà.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    Originariamente inviato da Shores
    Ci dici troppo poco...

    Prova ad eseguire quella pagina in Firefox con caricato FireBug e dicci che errori ti dà.
    mmm.. forse mi sono spiegato male.

    Allora io prima facevo questo:
    codice:
      <html>
        <head>
          <script src="/jscript/sreplace.js" type="text/javascript"></script>
        <head/>
      </html>
      <body >
      <div id="container">
        <div id="header"  >
         <script type="text/javascript">
          AC_FL_RunContent(...);
         <script>
          <noscript>
            <object type="application/x-shockwave-flash"
               data="/flash/video.swf" id="forever-video"
               width="76" height="66" name="logo" align="right">
              <param name="movie" value="/flash/video.swf" />
              <param name="allowScriptAcess" value="sameDomain" />
              <param name="quality" value="best" />
              <param name="bgcolor" value="#000000" />
              <param name="scale" value="noScale" />
              <param name="salign" value="TL" />
              <param name="FlashVars" value="playerMode=embedded" />
           </object>
          </noscript>
        </div>
      </div>
      </body>
    </html>
    e funzionava.

    ora invece vorrei sostituire quello <script> con <span></span> all'interno del quale, tramite un file esterno javascript che intercetti l'oggetto span, far caricare quella funzione.. è possibile?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  4. #4
    Ti giuro che non capisco che vantaggio ne avresti...

    Facciamo così: che cosa vuoi ottenere?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    Originariamente inviato da Shores
    Ti giuro che non capisco che vantaggio ne avresti...

    Facciamo così: che cosa vuoi ottenere?
    Dopo aver letto questo articolo :Il nuovo Javascript: separare l'azione dalla struttura ne volevo applicare i principi!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  6. #6
    Allora, il principio base di quell'articolo è che il javascript non dovrebbe MAI essere usato per qualcosa di cruciale, e dovrebbe essere sistemato in modo che non infici la qualità della struttura del documento.

    Detto questo, quel che vuoi fare non ha tanto senso: se la chiamata alla funzione AC_FL_??? è NECESSARIA (non mi hai ancora detto a che serve, tra l'altro) allora non ha nessuna importanza farla sparire dal codice sorgente della pagina (cosa che tralaltro si fa molto semplicemente mettendola in un file esterno.js che poi richiami con <script src="esterno.js"></script>) perchè comunque risulterà inficiata la funzionalità del sito se js non funziona...

    Se invece non è necessaria, beh, allora perchè non fare in modo che sia direttamente il filmato flash a fare ciò che deve, semplicemente di conseguenza al fatto che viene caricato?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #7
    Originariamente inviato da Shores
    Allora, il principio base di quell'articolo è che il javascript non dovrebbe MAI essere usato per qualcosa di cruciale, e dovrebbe essere sistemato in modo che non infici la qualità della struttura del documento.

    Detto questo, quel che vuoi fare non ha tanto senso: se la chiamata alla funzione AC_FL_??? è NECESSARIA (non mi hai ancora detto a che serve, tra l'altro) allora non ha nessuna importanza farla sparire dal codice sorgente della pagina (cosa che tralaltro si fa molto semplicemente mettendola in un file esterno.js che poi richiami con <script src="esterno.js"></script>) perchè comunque risulterà inficiata la funzionalità del sito se js non funziona...

    Se invece non è necessaria, beh, allora perchè non fare in modo che sia direttamente il filmato flash a fare ciò che deve, semplicemente di conseguenza al fatto che viene caricato?
    lo script è necessario per aggirare il controllo che IE fa sui filmati Flash!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  8. #8
    Bene, allora quel che devi fare NON è preoccuparti di rendere più standard o più "cool" quella chiamata a javascript: è fare in modo (magari con un linguaggio lato server) che quella chiamata a javascript esiste SOLO se hai a che fare con IE, e venga del tutto rimossa se non si tratta di IE...

    Detto in altri termini, non ti preoccupare di rendere più standard ciò che serve solo a colmare difetti di IE, è una perdita di tempo; IE, al di là del fatto che tutti dobbiamo scrivere siti che funzionino decentemente su di lui, visto che è parecchio diffuso, E' UNA MERDA anche nella versione 7 (per dirtene una, nemmeno nella 7 il tag BUTTON, introdotto ormai dieci e passa anni fa, ancora funziona correttamente) e non vale la pena di darsi da fare per lui, se non nel senso che il sito deve funzionare anche su IE.

    Tra l'altro mi sembra di capire che poi il tuo sito sia in flash, quindi a maggior ragione, l'unico html che userai sarà quello per includere il filmato...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  9. #9
    Originariamente inviato da Shores
    Bene, allora quel che devi fare NON è preoccuparti di rendere più standard o più "cool" quella chiamata a javascript: è fare in modo (magari con un linguaggio lato server) che quella chiamata a javascript esiste SOLO se hai a che fare con IE, e venga del tutto rimossa se non si tratta di IE...

    Detto in altri termini, non ti preoccupare di rendere più standard ciò che serve solo a colmare difetti di IE, è una perdita di tempo; IE, al di là del fatto che tutti dobbiamo scrivere siti che funzionino decentemente su di lui, visto che è parecchio diffuso, E' UNA MERDA anche nella versione 7 (per dirtene una, nemmeno nella 7 il tag BUTTON, introdotto ormai dieci e passa anni fa, ancora funziona correttamente) e non vale la pena di darsi da fare per lui, se non nel senso che il sito deve funzionare anche su IE.

    Tra l'altro mi sembra di capire che poi il tuo sito sia in flash, quindi a maggior ragione, l'unico html che userai sarà quello per includere il filmato...
    che IE sia una Merda è un fatto assodato!

    cmq nel mio sito c'è solo quel video in flash, mentre il resto è in PHP, quindi farò come dici tu, controllo quale sia il browser e faccio caricare la funzione solo se è IE...

    Grazie dell'aiuto
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  10. #10
    Di nulla !
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

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.