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

    CSS 2 - modificare il tag title

    E' possibile coi in CSS modificare il titolo di una pagina HTML? Ovvero il contenuto del tag <title></title>.

    Ho tempo fa che c'è una regola CSS2 per inserire il contenuto direttamente come valore dell' attributo. Non ricordo come fare.

    Ho pensato che si potrebbe anche farlo in Javascript, è che gli spider di google viaggiano con javascript disattivato...

    Grazie per le risposte

    __

    edit:

    il codice css per aggiungere contenuto è il seguente:

    h1:before{
    content: "nuovo contenuto";
    }

    ho provato a sostituire h1 con title, ma non ottengo il risultato voluto.

    A questo punto devo usare javascript. Come è possibile fare cio?

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Con i CSS non e` possibile modificare il contenuto.
    L'attributo content e` valido solo nei blocchi definiti con :before e :after, ma si riferisce ad oggetti che stanno prima e dopo del blocco in questione. Inoltre il supporto a tale attributo e` ancora un po' scarso da parte dei browser.

    Inoltre tieni presente che il <title> non e` un oggetto appartenente alla pagina (in effetti sta nella <head> della pagina, non nel <body>) e non e` quindi modificabile con i CSS, neppure nella formattazione.

    Essendo diventato un problema JS, sposto nel forum corretto.

    Se ricordo bene (e` un po' che non uso piu` JS) la sintassi dovrebbe essere:
    document.title = "Nuovo titolo";
    Pero` non funziona in tutti i browser: la proprieta` title e` sicuramente leggibile, ma non e` necessario che sia scrivibile. Vedi ad esempio: http://www.devguru.com/technologies/.../document.html
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Grazie per la risposta!

    Mi funziona benissimo usando:

    codice:
    <script language="javaScript"> 
    function show() {
    document.title = "Nuovo titolo";
    }
    setInterval("show()",200);
    </script>
    A me non interesserebbe piu' di tanto la compatibilità dei browser, ma quella dei crawler di Google. Volevo sapere se i crawler leggono queste istruzioni semplici javascript.
    Come ben si sa le keywords nel titolo della pagina influiscono tantissimo nella scalata dei risultati su Google.

    (Il fatto è che lavoro su un CMS dove il tag <title> è SATICO in tutte le pagine. Per ovviare vorrei usare quell'istruzione javascript soprariportata)

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Mi spiace, i crawler in genere viaggiano con il javascript disabilitato
    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

  5. #5
    Tempo fa lessi (penso su GTforum) che i crawler di google riescono a leggere *alcuni* comandi javascript...
    Mi posso sbagliare, di certo è ovvio che un crawler non interpreta metodi ajax del javascript (e neanche penso gli eventi javascript)..

    Forse qualche speranza c'è. Magari chiedo a qualche esperto di SEO / SOEM.

    Il fatto è che non posso avere neppure accesso all'FTP ( ) e non posso modificare nulla da lato server.

    Intanto modifico tutte le <title> e tra una decina/ventina di giorni, quando saranno re-indicizzate, saprò.

    Grazie per l'interesse

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da oRpo
    Grazie per la risposta!

    Mi funziona benissimo usando:

    codice:
    <script language="javaScript"> 
    function show() {
    document.title = "Nuovo titolo";
    }
    setInterval("show()",200);
    </script>
    Spero di non capitare mai su un apagina tua: uno script di quel tipo mette in crisi una buona percentuale dei browser in giro.
    In pratica 5 volte al secondo chiami una funzione che modifica il titolo, e mi par di caprie che lo riscrivi sempre uguale.

    Per lo meno usa una cosa un po' meno invasiva:
    codice:
    <script type="text/javascript">
    window.onload="document.title = 'Nuovo titolo' ";
    </script>
    Da inserire alla fine della pagina (comunque non puo` stare nella <head>).

    Comunque anch'io credo che i motori non lo leggano, ma per questo dovresti chiedere nel forum motori.
    Invece ritengo che dovresti curare molto bene:
    - i <meta>, sopratutto le keywords
    - la sintassi e la semantica HTML
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Grazie per la precisazione

    Parlando di sintassi html, il CMS che utilizzo è mooolto statico e non puo' essere modificato.....
    Migliorero' le keywords, grazie

    EDIT

    non sembra funzionare... Il problema è che l'evento onload di per sè presenta alcuni problemi (a volte funziona a volte no).
    Imposto l'intervallo a 1 o 2 secondi nel precedente script. In questo modo sarà molto meno intrusivo.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Un timeout ci puo` anche stare, non e` quello il problema.
    Ma il setInterval e` un errore semantico e funzionale che non si puo` perdonare.

    Se proprio non riesci a far funzionare l'evento onload, nemmeno mettendoci il timeout, nella funzione resetta il setInterval
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Ho riscritto tutto così:

    codice:
    <script language="javaScript">
    function show() {
    var newtitle = "nuovo titolo";
    document.title = newtitle;
    if (document.title == newtitle) return true;
    }
    
    for (var i=0; (i<100); i++ ){
    setTimeout("var res = show();",200);
    if (res = true) i=100;
    }
    </script>
    Il for invoca il delay e poi chiama la funzione. Se la funzione riesce a sostituire il title allora restituisce true e lo salva in res. Poi mediante un if setto la variabile contatore a 100 terminando così il for.
    In questo modo lo script non è intrusivo e non uso setInterval (ho provato a usare degli alert, non creo un ciclo infinito).

    Non ho capito molto bene il fatto che se usavo setInterval era errore semantico. Esiste un garbage anche con javascript?

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.