with type rails instalar couldn application javascript jquery ruby-on-rails

javascript - type - jQuery: cómo cambiar el título del documento durante.ready()?



rails jquery ajax (8)

Estoy usando algunos diseños anidados en Ruby on Rails, y en uno de los diseños tengo la necesidad de leer en una cadena de un div y configurarlo como el título del documento.

La forma correcta de hacerlo es del lado del servidor.

En su diseño, en algún momento habrá algún código que coloque el texto en el div . Haga que este código también establezca alguna variable de instancia como @page_title , y luego en su diseño externo haga <%= @page_title || ''Default Title'' %> <%= @page_title || ''Default Title'' %>

Estoy usando algunos diseños anidados en Ruby on Rails, y en uno de los diseños tengo la necesidad de leer en una cadena de un div y configurarlo como el título del documento. ¿Cuál es la forma correcta (si la hay) para establecer el título del documento?

<script type="text/javascript"> $(document).ready(function() { // ??? }); </script>


Esto funciona bien en todos los navegadores ...

$(document).attr("title", "New Title");

Funciona en IE también


Lo siguiente debería funcionar, pero no sería compatible con SEO. Lo mejor es poner el título en la etiqueta del título.

<script type="text/javascript"> $(document).ready(function() { document.title = ''blah''; }); </script>


Me gusta esto:

$(document).ready(function () { document.title = "Hello World!"; });

Asegúrese de establecer un título predeterminado si desea que su sitio sea indexado correctamente por los motores de búsqueda.

Un pequeño consejo:

$(function () { // this is a shorthand for the whole document-ready thing // In my opinion, it''s more readable });


No use $(''title'').text(''hi'') , porque IE no lo admite.

Es mejor usar document.title = ''new title'';


Si tiene un script en el servidor get_title.php que hace eco de la sesión del título actual, esto funciona bien en jQuery:

$.get(''get_title.php'',function(*respons*){ title=*respons* + ''whatever you want'' $(document).attr(''title'',title) })


document.title no funcionaba para mí.

Aquí hay otra forma de hacerlo usando JQuery

$(''html head'').find(''title'').text("My New Page Title");


<script type="text/javascript"> $(document).ready(function() { $(this).attr("title", "sometitle"); }); </script>