Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13
  1. #11
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non puoi usare una funzione che non e` caricata nel browser.

    Comunque per il tuo problema specifico io propongo:
    codice:
    function sceglifunz(fid) {
    switch(fid) {
      case 'funzioneA':
        funzioneA();
        break;
      case 'funzioneB':
        funzioneB();
        break;
     ...
    }
    Lo svantaggio e` che devi conoscere tutti i nomi possibili delle funzioni e scriverli esplicitamente nella sceglifunz().

    PS. la document.write() non si puo` usare a pagina caricata e completata: si puo` usare solo durante il caricamento della pagina, altrimenti sostituisce tutto il contenuto della finestra (compreso lo script che stava girando).
    Questo non e` completamente vero per i browser IE.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  2. #12
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    200
    Sì, certo che non si possono richiamare funzioni non caricate.
    Ovviamente ho tralasciato di dire che il caricamento di queste avviene con la lettura di un file Js esterno che le include tutte.

    Proprio per evitare un file esterno troppo pesante e con funzioni magari utilizzate di rado avevo optato per la document.write. Di modo che esse venissero lette ed eseguite solo al momento del bisogno.

    Certo, la soluzione di adottare la struttura di "scelta" è tecnicamente valida ma volevo appunto evitare un unico blocco sorgente contenente tutti i richiami.

    Bisogna pensare alle implementazioni infatti.
    Un sito oggi potrebbe utilizzare 5 o 6 Button ma domani potrebbe averne decine (e chissà, forse di più).

    Per quanto riguarda il P.S. adesso capisco perchè ottenevo quell'effeto collaterale indesiderato.

    Grazie comunque.
    Spremerò un altro po' le meningi.

  3. #13
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ma perche` non lavori lato server?
    Potresti usare i SSI (server side include), per inserire le funzioni JS che ti servono.
    La sintassi dipende dal linguaggio usato (ASP, PHP, SSI, ...), ma in linea di massima:
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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