Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problemi di messa a focus

    Ciao.

    Ho ricavato e messo a punto (si fa per dire) uno spartano sistema di visualizzazione di immagini che per le mie esigenze è molto comodo e non posso cambiarlo:

    da iframe mi apro una nuova finestra (dimensioni fisse e senza scroll), me la centro sullo schermo e mi carica l'immagine. E me la porto in primo piano ogni volta che clicco sulle anteprime delle altre immagini che mi rimangono visibili nel sito (che sta sotto a tutto schermo).

    Il codice è questo
    codice:
    function popup(nomefile, larghezza, altezza, x, y) {
    
    win_popup = window.open(nomefile,"popup","toolbar= 0,location= 0,directories= 0,status= 0,
    menubar= 0,scrollbars= 0,resizable= 0,copyhistory= 0,
    width=" + larghezza + ",height=" + altezza); 
    window.focus();
    
    if(x && y); {
    x = parseInt(x);
    y = parseInt(y);
    win_popup.moveTo(x, y); } }
    anteprima immagine
    codice:
    <a href="javascript:popup('http://urlimmagine',600,500,
    (screen.width-600)/2,(screen.height-500)/2);">
    </a>
    Problema:

    Safari : funziona perfettamente (centra la finestra, la riporta sempre in primo piano ogni volta che carico un'immagine)
    Firefox: (centra la finestra, ma la tiene sempre in secondo piano anche la prima volta)
    Explorer: (non la centra ma la mantiene in alto a sinistra, e dal 2° click la tiene pure in secondo piano)

    Sapreste dirmi per cortesia dove stanno gli errori?
    1 o 0, questo è il problema.

  2. #2

    Allora Tiashi...

    ho scoperto un errore, dovevi fare così, per il focus...

    codice:
    function popup(nomefile, larghezza, altezza, x, y) {
    
    win_popup = window.open(nomefile,"popup","toolbar= 0,location= 0,directories= 0,status= 0,
    menubar= 0,scrollbars= 0,resizable= 0,copyhistory= 0,
    width=" + larghezza + ",height=" + altezza); 
    win_popup.focus(); 
    
    if(x && y); {
    x = parseInt(x);
    y = parseInt(y);
    win_popup.moveTo(x, y); } }
    Rimane però il problema del centramento della finestra in Internetto Exploratore,
    se ti fustighi ti aiuto
    perché se vieni su questo forum devi sapere tutto altrimenti ti arrangi
    1 o 0, questo è il problema.

  3. #3
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152
    win_popup.moveTo(x, y); } alert(x+' '+y); }

    che cosa ti stampasse ?

    Dichiarassi
    var x;
    var y;
    in apertura e usassi altro in argomenti.
    Togliessi anche ; da:
    if(x && y); {

    Meglio fosse:


    var x;
    var y;

    function popup(nomefile, larghezza, altezza, X, Y) {
    x = X;
    y = Y;
    //others
    if(x && y) {
    a = parseInt(x);
    b = parseInt(y);
    win_popup.moveTo(a, b); }
    }


    Salutassimo, ...

  4. #4
    Grazie.

    (sono le 4.39 e sono esausto, non riesco a venirne a capo)

    Originariamente inviato da Straystudios
    (...)

    Meglio fosse:


    var x;
    var y;

    function popup(nomefile, larghezza, altezza, X, Y) {
    x = X;
    y = Y;
    //others
    if(x && y) {
    a = parseInt(x);
    b = parseInt(y);
    win_popup.moveTo(a, b); }
    }

    Se ho capito bene diventa così
    codice:
    var x;
    var y;
    
    function popup(nomefile, larghezza, altezza, X, Y) {
    x = X;
    y = Y;
    win_popup = window.open(nomefile,"popup","toolbar= 0,location= 0,directories= 0,status= 0,
    menubar= 0,scrollbars= 0,resizable= 0,copyhistory= 0,
    width=" + larghezza + ",height=" + altezza); 
    win_popup.focus();
    if(x && y) {
    a = parseInt(x);
    b = parseInt(y);
    win_popup.moveTo(a, b); }
    }
    giusto?

    Non mi apre neanche il popup, con nessuno dei browser.
    1 o 0, questo è il problema.

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Straystudios
    win_popup.moveTo(x, y); } alert(x+' '+y); }

    che cosa ti stampasse ?

    Dichiarassi
    var x;
    var y;
    in apertura e usassi altro in argomenti.
    Togliessi anche ; da:
    if(x && y); {

    Meglio fosse:


    var x;
    var y;

    function popup(nomefile, larghezza, altezza, X, Y) {
    x = X;
    y = Y;
    //others
    if(x && y) {
    a = parseInt(x);
    b = parseInt(y);
    win_popup.moveTo(a, b); }
    }


    Salutassimo, ...
    Quoto per documentazione... altrimenti potrei passare per bugiardo VVoVe:
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152

    Pagina completa per test.

    Originariamente inviato da Tiashi2
    Non mi apre neanche il popup, con nessuno dei browser.
    Controlla, potresti aver interrotto la linea del window.open() nel copia-incolla.
    Le apre, le apre; e gli //alert(x+' '+y+' '+a+' '+b); una volta liberati dai commenti // stampano regolarmente i Valori passati.
    E per la verità, anche il tuo codice di partenza mi funziona regolarmente, con IExplorer 7; e centra sul monitor.

    Ma attenzione, io mi sto riferendo al Documento "dal vero"! Fosse che il problema deriva dall' IFRAME, cioè IExplorer non ritrova il top e il left della finestra master? Ricordiamoci che l' iframe è una Window dentro una Window.
    Ma è solo una supposta ...

    codice:
    <html>
    <head><title>Tiashi2 's popup</title>
    
    <script type="text/javascript" language="javascript">
    <!--
    var x;
    var y;
    
    function popup(nomefile, larghezza, altezza, X, Y) {
    
     x = X;
     y = Y;
     win_popup = window.open( nomefile, "popup", 
                             "toolbar=0, location=0, directories=0, status=0, "+
                             "menubar=0, scrollbars=0, resizable=0, copyhistory=0, "+
                             "width=" +larghezza+ ", height=" +altezza ); 
     win_popup.focus();
       if(x && y) {
         a = parseInt(x);
         b = parseInt(y);
         win_popup.moveTo(a, b); 
    //alert(x+' '+y+' '+a+' '+b);
       }
    //alert(x+' '+y+' '+a+' '+b);
     }
    
    //-->
    </script>
    
    </head>
    <body bgcolor="#900000" text="#E3E3E3">
    
    <h1></h1>
    
    <div align="center">
    <input value="launch pop-up" type="button" onClick='popup("about:blank", "300", "180", "400", "200");'>
    
    </div>
    
    
    </body>
    </html>

  7. #7
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152

    Pagina Master ( IFRAME ).

    A me funziona anche dall' IFRAME.
    Ho salvato il Documento di cui sopra come Tiashi2ifr.html e poi il seguente col nomechevuoi.html
    entrambi in stessa Cartella; e ho testato su Windows Vista con NN9 FF2 IE7 Safari.
    codice:
    <html>
    <head><title>Tiashi2 's master page</title>
    
    
    </head>
    <body bgcolor="#900000" text="#E3E3E3">
    
    <h1>Master Page</h1>
    
    <div align="center">
    <iframe width="30%" height="300" src="Tiashi2ifr.html"></iframe>
    
    </div>
    
    
    </body>
    </html>
    EDIT : Testati anche due diversi !DOCTYPE in entrambi i file.

    &#60;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&#62;

    &#60;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&#62;

    In assenza di Document Type Definition, i Browser interpretano in HTML 4 di default, comunque ...

  8. #8

    Grazie...

    Una risposta veloce prima di leggere a fondo quando ai postato e di cercare di capire linguaggio che per me è ancora molto-difficile.
    Io non voglio mancarvi di rispetto, vorrei fare tutte le lezioni di javascript, è che non riesco proprio a trovare in questo momento il tempo, perché ho dovuto rispolverare tutto, prendere in mano da zero anche i CSS che una volta gestivo con Golive. Sto facendo questa volta tutto a mano, e nell'arco della giornata devo purtroppo avere altre priorità, sebbene Javascript mi interessi moltissimo e senta assolutamente il bisogno di impararlo a fondo. E' che per me ora è proprio impossibile.

    -
    Con la versione 2 del mio codice sballato, quindi quella modificata da me
    Gli iframe, testati come pagina normale , quindi singolarmente e non più iframe, funzionavano (IE, FF, SA). C'era solo il probema per il centramento del popup da parte di IE, che non lo faceva.
    Mentre, con il test nella pagina principale , quindi con gli iframe al loro posto:
    IE funziona ma non centra popup
    FF funziona
    SA centra popup, ma, avevo cantato vittoria troppo presto, al secondo click lo tiene in secondo piano e non lo tira più su.

    Non sapendo più che pesci pigliare, non sapendo come risolvere, stanotte ho provato ad optare per una soluzione d'emergenza e che pure sarebbe per me buona: eliminare il popup e inserire un altro iframe nel sito, e quindi caricare in quello le immagini (dall'altro iframe, le immagini hanno tutte dimensioni diverse):

    iframepreview
    codice:
    <a href="http://grande.jpg" target="iframeshow">
    </a>
    iframeshow
    codice:
    <iframe name="iframeshow" src="http://www.paginabianca.html" 
    frameborder="0" scrolling="no" height="400" width="600"></iframe>
    Ma anche lì ho 2 problemi (uguali in tutti i browser):
    1) l'immagine me la carica ma a differenza che nel popup non mi si ridimensiona adattandosi alle dimensioni della finestra, bensì mantiene le dimensioni originali e quindi si vede solo parte dell'immagine e nemmeno si riesce a usare lo strumento lente dei browser.
    2) l'immagine me la carica, al primo click, ma se cerco di aprire la seconda, sempre da imframepreview, non me la carica nell'iframeshow bensì me la apre in una finestra nuova.

    So bene che è ignoranza mia, sicuramente c'è un errore di fondo stupido, ma davvero per me ora quello che so è già il massimo delle mie momentanee possibilità. Anche perché sto correndo contro il tempo (sono 3 settimane che devo uscire col sito ma non ci riesco).

    Però visto che mi hai risposto e ti ringrazio molto, non ci speravo, adesso mi impegno a cercare di comprendere quello che hai postato.
    1 o 0, questo è il problema.

  9. #9
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152

    screen.width screen.height

    Tranquillo ...
    In effetti un Forum un po' stronzo lo è; siamo nel Paese dei brutti italiani, del resto.
    Ma ho visto che te ti dai da fare e qualche oretta ce la spendo volentieri.
    Dirti "leggiti questi Tutorial", "guarda che bei Link !" si fa presto a dire, ed è pure giusto, ma acquisire prima qualche frammento di nozione, vista applicata, aiuta assai dopo a ripartire su un Tutorial "regolare"; che sennò ti rimane vago e incomprensibile sino alla XXIV Lezione

    L' utilità del Forum sta in questo, propina nozioni in una maniera/quantità che la mente può facilmente gestire.

    Dai un' occhiata a questo mio post, per un altro sistema di centrare una pop-up:http://forum.html.it/forum/showthrea...readid=1312556


    Anch' io ero ai minimi termini ieri notte, e quelle capriole di variabili/parametri volevano esperire un tentativo di ovviare ad (eventali) conflitti di interpretazione.
    Che versione di IE adoperi? IE 8 / IE 8 Beta l' ultima ?

  10. #10

    Allora... ho provato la tua soluzione

    Intanto grazie mille.

    uso IE7

    Guarda cos'ho scoperto.

    se la cartella, delle pagine e delle immagini, è la stessa :

    IE funziona
    FF funziona
    SA funziona


    se le immagini sono in una cartella diversa rispetto alle pagine che le richiamano (vengono ad esempio da flickr piuttosto che da imageshack):

    IE funziona ma non sposta il popup
    FF funziona
    SA funziona ma al secondo click lascia il popup in secondo piano

    sembra quasi che, a loro personale modo, non lo considerino più un popup.
    - - -
    grazie per il link all'altro tuo topic, molto utile. Anche per la sintassi.

    Difatti dopo aver risolto questo ultimo problema dovrò verificare col posizionamento perfetto al centro dello schermo, che mi pare però già funzionasse però bisogna provarlo ora.
    1 o 0, questo è il problema.

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