Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    27

    Riconoscere Opera Browser e swicciare il menu del sito su uno dei tre disponibili

    Salve a tutti!!!
    Prima volta nella sezione JS... ho bisogno di una mano per una cosa che credo sia semplice, ma assurda per me che non ne capisco nulla. Sono 2 giori che leggo senza capirci nulla.


    Io ho un sito con 3 menu possibili, di base ne scelgo uno di default e non do la possibilità agli utenti di cambiarlo, quello di default è un moo.fx che opera non riconosce e secondo l'autore NON può riconoscere. Quindi, sempre secondo autore, devo identificare il borwser e swiccare il menu impostato di default su un'altro se il browser in uso è opera. "Ovviamente non dice come fare ma di cercare su Google" cosa che ho fatto senza capirci na pera

    Ecco un esempio del template QUI il sito NON è il mio ma monta lo stesso template.

    Il menu 3 NON va con opera il 2 e1 si.

    Ora io vorrei aggiungere all'index del template un JS che riconosca il browser e mi imposti di default un'altro menu se il browser è opera.

    Il problema è che NON ne ho la più pallida idea di come di faccia anche se ho letto al guida nella sezione JS QUI

    Nella idenx in questa sezione del codice io imposto i 3 tipi di menù

    codice:
    // Default Menu
    $default_menu_type = "transmenu"; 	// splitmenu | supersucker | transmenu
    essi sono rispettivamente il 1, 2, 3 menu. Io vorrei modificare questa stringa im modo che il menu di default fosse il secondo se il browser fosse opera.

    QUI il codice completo della pagina se fosse ultile per il JS.

    ecco cosa mi ha risposto l'autore, se può essere di aiuto
    For the problem with Opera, Opera cannot understand this javascript.
    You can put instruction which detect if the navigator is Opera and in this case set supersucker as the menu. Search on google for the detection. And for set the menu it is: menu_type=supersucker.
    But put that stuff in Index.php just after:
    require($mosConfig_absolute_path."/templates/" . $mainframe->getTemplate() . "/rt_styleloader.php");

    Vi ringrazio in anticipo per tutto!!!

    Super grazie dafebe

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    $default_menu_type =(window.opera)?"supersucker":"transmenu";

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    27
    Grazie mille per l'aiuto, ma non va (sempre con non abbia sbagliato io nel suo uso), in questo modo mi si seleziona sempre il menu supersucker con tutti e 3 i browser

    io ho sostituito questo

    codice:
    $default_menu_type = "transmenu";
    a questo

    codice:
    $default_menu_type =(window.opera)?"supersucker":"transmenu";
    ho sbagliato io?

    grazie mille dafebe

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    magari non sara' solo quello da cambiare, ma stai sicuro che se fai cosi'
    $default_menu_type =(window.opera)?"supersucker":"transmenu";
    alert($default_menu_type)

    con opera l' alert conterra' "supersucker" con tutti gli altri "transmenu"

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    27
    non sono esperto e non so bene cosa ho fatto ma ho risolto così

    dopo questa istruzione



    require($mosConfig_absolute_path."/templates/" . $mainframe->getTemplate() . "/rt_styleloader.php");

    ho messo questo

    if (eregi('opera', $HTTP_USER_AGENT)) {
    // Do that only for Opera
    $menu_type="supersucker";
    }
    e ora funzia esattamente.

    NON ho però la + pallida idea di quello che ho fatto

    questa è la risposta che mi è stata data


    Interessant links on google
    http://www.allhtml.com/articles/detail/254

    Code:

    <?php if (eregi('opera', $HTTP_USER_AGENT)) {
    // Do that only for Opera
    $menu_type="supersucker";
    } ?>


    You must put that immediately after the load of configuration by styleloadr.php and because there is already balise php you can only put this:
    Code:

    if (eregi('opera', $HTTP_USER_AGENT)) {
    // Do that only for Opera
    $menu_type="supersucker";
    }


    As it is said on the comment of the original page, if that does not work try to replace $HTTP_USER_AGENT by $_SERVER["http_user_agent"]
    sei stato gentilissimo dafebe

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.