Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Flash + Ajax

  1. #1
    Utente di HTML.it L'avatar di SymX
    Registrato dal
    Nov 2004
    Messaggi
    438

    Flash + Ajax

    Ciao a tutti,
    mi sono spulciato la rete penso a dovere e anche questo forum, ma purtroppo non ho ancora risolto il mio problema.

    Ho un menu in Flash che deve richiamarmi una funzione Ajax per gestire le DIV dinamicamente.

    La funzione funziona perfettamente se gestita in html ed è questa:

    codice:
     
    <script type="text/javascript">
    
    /***********************************************
    * Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
    ***********************************************/
    
    var loadedobjects=""
    var rootdomain="http://"+window.location.hostname
    
    function ajaxpage(url, containerid){
    var page_request = false
    if (window.XMLHttpRequest) // if Mozilla, Safari etc
    page_request = new XMLHttpRequest()
    else if (window.ActiveXObject){ // if IE
    try {
    page_request = new ActiveXObject("Msxml2.XMLHTTP")
    } 
    catch (e){
    try{
    page_request = new ActiveXObject("Microsoft.XMLHTTP")
    }
    catch (e){}
    }
    }
    else
    return false
    page_request.onreadystatechange=function(){
    loadpage(page_request, containerid)
    }
    page_request.open('GET', url, true)
    page_request.send(null)
    }
    
    function loadpage(page_request, containerid){
    if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
    document.getElementById(containerid).innerHTML=page_request.responseText
    }
    
    function loadobjs(){
    if (!document.getElementById)
    return
    for (i=0; i<arguments.length; i++){
    var file=arguments[i]
    var fileref=""
    if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
    if (file.indexOf(".js")!=-1){ //If object is a js file
    fileref=document.createElement('script')
    fileref.setAttribute("type","text/javascript");
    fileref.setAttribute("src", file);
    }
    else if (file.indexOf(".css")!=-1){ //If object is a css file
    fileref=document.createElement("link")
    fileref.setAttribute("rel", "stylesheet");
    fileref.setAttribute("type", "text/css");
    fileref.setAttribute("href", file);
    }
    }
    if (fileref!=""){
    document.getElementsByTagName("head").item(0).appendChild(fileref)
    loadedobjects+=file+" " //Remember this object as being already added to page
    }
    }
    }
    
    </script>
    La funzione che ho messo in Flash è invece stata questa inizialmente:
    codice:
    on(release) {
    getURL("javascript:ajaxpage(who.htm, content)");
    }
    per poi provare con l'oggetto ExternalInterface cosi:
    codice:
    on(release) {
    ExternalInterface.call("javascript:ajaxpage(who.htm, content)");
    }

    Praticamente errori java non ne ho ma non succede proprio nulla alla pressione del bottone. Non vorrei che il problema dipende dal fatto che deve scrivere dentro un determinato div (chiamato "content") e da Flash potrebbe esserci qualcosa che non funzioni cosi come ho fatto io ( ('who.htm', 'content') ).

    Poi semmai posto in allegato i file

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    prova con

    on(release) {
    getURL("javascript:ajaxpage('who.htm', 'content');");
    }

    poi dimmi, in html come richiameresti la funzione?

  3. #3
    Utente di HTML.it L'avatar di SymX
    Registrato dal
    Nov 2004
    Messaggi
    438
    Originariamente inviato da and80
    prova con

    on(release) {
    getURL("javascript:ajaxpage('who.htm', 'content');");
    }

    poi dimmi, in html come richiameresti la funzione?
    in verita' il mio codice è già cosi come hai scritto tu, ma mi sono accorto che mi ha spezzato la parola javascript in "java-script" nel forum quando l'ho messo dentro il TAG CODE........in HTML la apro cosi
    codice:
    File 1

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non parlavo della parola javascript spezzata, dicevo degli apici... nei codici che hai scritto riporti entrambi i parametri della funzione senza apici, mentre nel richiamo su <a> li utilizzi

  5. #5
    Utente di HTML.it L'avatar di SymX
    Registrato dal
    Nov 2004
    Messaggi
    438
    Originariamente inviato da and80
    non parlavo della parola javascript spezzata, dicevo degli apici... nei codici che hai scritto riporti entrambi i parametri della funzione senza apici, mentre nel richiamo su <a> li utilizzi
    Ah ok, la prova l'ho gia fatta con e senza apici gia prima....non cambia nulla!

  6. #6
    Utente di HTML.it L'avatar di SymX
    Registrato dal
    Nov 2004
    Messaggi
    438
    Up ragazzi please!!

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    mmh... strano, la logica dovrebbe essera la stessa del richiamo da HTML e il codice JS sembra ok per quello che dovrebbe eseguire anche con quel richiamo

    provando ad usare ExternalInterface, non succede nulla ugualmente, hai detto?

    solo che se non sbaglio, externalinterface non si usa in quel modo, ma così


    codice:
    import flash.external.*;
    var functName:String = "ajaxpage";
    var params:String = "who.htm, content";
    var returnValue:String = ExternalInterface.call(functName, params).toString();
    ps. non ricordo se me lo avevi già detto, ma ... provi direttamente online?

  8. #8
    Utente di HTML.it L'avatar di SymX
    Registrato dal
    Nov 2004
    Messaggi
    438
    Originariamente inviato da and80
    mmh... strano, la logica dovrebbe essera la stessa del richiamo da HTML e il codice JS sembra ok per quello che dovrebbe eseguire anche con quel richiamo

    provando ad usare ExternalInterface, non succede nulla ugualmente, hai detto?

    solo che se non sbaglio, externalinterface non si usa in quel modo, ma così


    codice:
    import flash.external.*;
    var functName:String = "ajaxpage";
    var params:String = "who.htm, content";
    var returnValue:String = ExternalInterface.call(functName, params).toString();
    No proprio nulla...e purtroppo neanche con la variazione che hai postato

    ps. non ricordo se me lo avevi già detto, ma ... provi direttamente online?
    Si, direttamente per sicurezza

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da SymX
    Si, direttamente per sicurezza
    ok, quindi potremo escludere un problema del sandbox :master: ci sto pensando, ma non mi viene in mente nulla...

  10. #10
    Utente di HTML.it L'avatar di SymX
    Registrato dal
    Nov 2004
    Messaggi
    438
    Originariamente inviato da and80
    ok, quindi potremo escludere un problema del sandbox :master: ci sto pensando, ma non mi viene in mente nulla...
    Ho risolto.......

    Ti dico intanto grazie perchè cmq mi hai aiutato. Ho voluto "rifare tutto da zero". Mi sono ripreso il codice della pagina, l'AS con gli apici in Flash, e il test tutto online direttamente. Ed è andato!!!! Non ho ancora inquadrato cosa potesse essere, dato che i pulsanti che c'erano in html cmq funzionavano.... , quindi escluso il problema dello script della pagina.....

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.