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

    passare una variabile javascript ad un attributo html

    Ciao
    ho un filmato in flash con un immagine di sfondo che ridimensiono in base alla risoluzione dello schermo (o meglio) in base alla dimensione della finestra del browser, con action script.
    L'AS è questo
    codice:
    Stage.scaleMode = 'noScale';
    controllo = new Object();
    controllo.onResize = function() {
    bg._width = Stage.width;
    bg._height = Stage.height;
    };
    Stage.addListener(controllo);
    
    controllo.onResize()
    l'immagine che si ridimensiona è contenuta nell'mc chiamato "bg"

    Nell'html devo quindi impostare le dimensioni dell'swf in percentuale (100% sia in altezza che in larghezza) affinchè il mio mc di sfondo occupi tutto lo schermo.

    Fin qui tutto ok. Mi sono però accorto che alle risoluzioni più basse (800x600) per vedere tutto il filmato avrei bisogno della barra di scroller del browser (perchè i lfilmato flash è alto 600 px e a 800x600 l'area visibile nel browser è inferiore a 600px).

    Naturalmente, però, con le dimensioni settate al 100% non posso avere lo scroller.

    Pensavo allora di far settare l'attributo html dell'altezza dell'swf tramite javascript.
    Quindi creerei la variabile javascript in questo modo: altezzaBrowser = window.screen.height

    Come la passo poi all'attributo html?

    Osservando il pezzo di codice ad es per explorer:
    codice:
    <OBJECT classid="clsid:d27CDB6E-AE6D-11cf-96B8-444553540000"
    codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
    WIDTH=100% HEIGHT=100%>
    dove c'è height=100% dovrei passare la variabile javascript
    non dovrebbe essere così? HEIGHT="&{altezzaBrowser};"

    Naturalmente non funziona e probabilmente qualcosa non va in tutto questo complesso ragionamento che spero di essere riuscito a spiegare.

    Grazie 1000 per qualsiasi suggerimento.

  2. #2
    cioè la chiave di tutto è: è possibile passare una variabile javascript ad un attributo html?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    HEIGHT="&{altezzaBrowser};"


    Sei rimasto un po' indietro.

    Quella sintassi era stata proposta da NN credo nella versione 3, ma poi e` stata abbandonata.

    In fase di costruzione della pagina puoi usare document.write:

    document.write('\<object classid\=\"clsid\:d27CDB6E\-AE6D\-11cf\-96B8\-444553540000\"
    codebase\=\"http\:\/\/download\.macromedia\.com\/pub\/shockwave\/cabs\/flash\/swflash\.cab\#version\=5,0,0,0\"
    width\=\"100%\" height\=\"'+altezzaBrowser+'\"\>');

    Comunque il 100% va bene: meglio se lo metti nel CSS: in tal caso e` relativo alla dimensione del contenitore.

    Nota che nella sintassi che ho postato ci sono numerose backslash (alcune sono necessarie solo in XHTML Strict): per vederle tutte fai un "quote" del messaggio prima del copia-incolla
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Grazie 1000 sei stato utilissimo.
    Adesso stavo anch'io ragionando sul document.write e c'ero praticamente arrivato.
    comunque la tua è un'utilissima conferma (anche perchè ho delle magagne clamorose in javascript).

    Funziona...
    ma adesso mi si è presentato il seguente problema...ho una barra di scroller anche alle risoluzione più alte...è come s eleggesse un'altezza superiore a quella effettiva della finestra del browser.

    se inserissi flash in un div e utilizzassi i css dici che potrei utilizzare direttamente le dimensioni 100%...

    mi puoi chiarire un pò questa cosa, se possibile?
    grazie infinite.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Puoi impostare i CSS per l'<object > direttamente (non serve inserirlo in un <div>).

    Inoltre se dai all'oggetto l'altezza uguale a
    screen.height
    e` chiaro che inserisce barre:
    1. la finestra puo` essere minore dello schermo
    2. ci possono essere oggetti (barre di windows o altro) sullo schermo che diminuiscono lo spazio
    3. ci sono i bordi della finestra.

    In complesso dovresti usare
    document.body.innerHeight
    o qualcosa di simile.

    Ma se usi il 100% del CSS non dovresti avere problemi.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Grazie 1000
    ora provo subito (con entrambe le soluzioni)

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.