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

    problema url javascript prelevato da xml

    vi spiego il mio problema sperando innanzitutto che possa spiegarmi bene
    e magari che ci sia qualcuno che possa darmi una mano.
    ho creato (per modo di dire,ho copiato codici qua e la) un menu scorrevole
    con flash e xml.
    l'actionscript preleva le immagini dal file xml e le mette nel menu.
    nell'xml è associata ad ogni immagine anche il rispettivo url,solo che non è il classico
    url http,bensì una chiamata ad una funzione javascript.
    l'actionscript l'ho trovato in giro per il web e funziona in toto,tranne la funzione
    che preleva l'url dal file xml.
    ho fatto delle modifiche e prove di vario genere(puramente di fantasia)
    ma mi da sempre "undefined".

    QUESTO è IL MODELLO DI FILE XML


    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <immagini>
    <foto>
    <anteprima>pics/1.jpg</anteprima>
    <link>javascript:sendEvent('playitem',0)</link>
    </foto>......


    questo è l'actionscript(preso da un tutorial in rete e adattato):

    function loadXML(loaded) {
    if (loaded) {
    xmlNode = this.firstChild;
    //definisco le variabili
    anteprima = [];
    link = [];
    total = xmlNode.childNodes.length;
    for (i=0; i<total; i++) {
    //aggiungo i parametri da inserire in xml
    anteprima[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
    link[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
    thumbnails_fn(i);
    }

    } else {
    content = "file not loaded!";
    }
    }

    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = loadXML;
    xmlData.load("video.xml");
    /////////////////////////////////////
    p = 0;
    this.onEnterFrame = function() {
    filesize = anteprima.getBytesTotal();
    loaded = anteprima.getBytesLoaded();
    if (loaded != filesize) {
    preloader.preload_bar._xscale = 100*loaded/filesize;
    } else {
    preloader._visible = false;
    if (anteprima._alpha<100) {
    anteprima._alpha += 10;
    }
    }

    };
    ////////////////////////////////////funzione1 scroll delle miniature
    function thumbNailScroller() {
    // thumbnail code!
    this.createEmptyMovieClip("tscroller", 1000);
    scroll_speed = 10;
    tscroller.onEnterFrame = function() {
    if ((_root._ymouse>=thumbnail_mc._y) && (_root._ymouse<=thumbnail_mc._y+thumbnail_mc._heig ht)) {
    if ((_root._xmouse>=(hit_right._x-40)) && (thumbnail_mc.hitTest(hit_right))) {
    thumbnail_mc._x -= scroll_speed;
    } else if ((_root._xmouse<=(hit_left._x+40)) && (thumbnail_mc.hitTest(hit_left))) {
    thumbnail_mc._x += scroll_speed;
    }
    } else {
    delete tscroller.onEnterFrame;
    }
    };
    }

    openurl = link.getURL; <------------------------------- sicuramente l'errore è qui

    ////////////////////////////////////funzione2 azioni delle miniature
    function thumbnails_fn(k) {
    thumbnail_mc.createEmptyMovieClip("t"+k, thumbnail_mc.getNextHighestDepth());
    tlistener = new Object();
    tlistener.onLoadInit = function(target_mc) {
    target_mc._x = hit_left._x+(target_mc._width+5)*k;
    target_mc.pictureValue = k;
    target_mc.onRelease = openurl;<----------------------------- e anche qui
    target_mc.onRollOver = function() {
    this._alpha = 50;
    thumbNailScroller();
    };
    target_mc.onRollOut = function() {
    this._alpha = 100;

    };
    };
    image_mcl = new MovieClipLoader();
    image_mcl.addListener(tlistener);
    image_mcl.loadClip(anteprima[k], "thumbnail_mc.t"+k);
    }

  2. #2
    ho creato una funzione per aprire url in questo modo:

    function openurl() {
    if (p<(total-1)) {
    p++;
    if (loaded == filesize) {
    picture.getURL(link[p]);<-----------------link è il nodo Xml contente l'url.

    }
    }
    }

    poi creo l'evento onRelease per ogni immagine

    target_mc.onRelease = function() {
    p = this.pictureValue-1;
    nextImage();
    openurl();<---------------------------------chiama la funzione dichiarata prima
    };

    fin qui tutto ok. ma vale solo per gli url http:...
    e comunque vengono aperti in un altra scheda.
    certo basta assegnare l'attributo _self e risolvo,ma il problema è un altro:


    io avrei bisogno che con il click sull'immagine venga richiamata una
    funzione javascript con i vari argomenti.

    è chiaro che nella pagina html contente il flash c'è già la dichiarazione javascript.

    conclusione: con questo codice mi apre una scheda bianca senza che il
    javascript venga azionato.
    mi scuso per i termini poco professionali,sono un dilettante.
    spero di essere stato chiaro nella spiegazione. grazie e a presto.
    Rispondi con citazione

  3. #3
    prova magari a vedere se i parametri che passi vengono letti
    o con un trace oppure con una casella di testo

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  4. #4
    e come si fa?
    scusa l'ignoranza.

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.