Ich verwende einige verschachtelte Layouts in Ruby on Rails, und in einem der Layouts muss ich eine Zeichenfolge aus einem div einlesen und diese als Titel des Dokuments festlegen. Wie kann der Titel des Dokuments (falls vorhanden) korrekt festgelegt werden?
<script type="text/javascript">
$(document).ready(function() {
// ???
});
</script>
javascript
jquery
ruby-on-rails
Jason Miesionczek
quelle
quelle
Antworten:
Das Folgende sollte funktionieren, wäre aber nicht SEO-kompatibel. Am besten setzen Sie den Titel in das Titel-Tag.
quelle
Nicht verwenden
$('title').text('hi')
, da der IE dies nicht unterstützt.Es ist besser zu benutzen
document.title = 'new title';
quelle
Dies funktioniert gut in allen Browsern ...
Funktioniert auch im IE
quelle
So was:
Stellen Sie sicher, dass Sie einen Standardtitel festlegen, wenn Ihre Website von Suchmaschinen ordnungsgemäß indiziert werden soll.
Ein kleiner Tipp:
quelle
quelle
$('title').text(...)
wegen eines Fehlers in IEdocument.title
?document.title hat bei mir nicht funktioniert.
Hier ist eine andere Möglichkeit, dies mit JQuery zu tun
quelle
<title>
Setup gibt ,$('html head').add('<title>override default title</title>')
funktioniert es auch nichtDer richtige Weg, dies zu tun, ist auf der Serverseite.
In Ihrem Layout gibt es irgendwann einen Code, der den Text in das div einfügt . Stellen Sie mit diesem Code auch eine Instanzvariable ein, z. B.
@page_title
und lassen Sie es dann in Ihrem äußeren Layout tun<%= @page_title || 'Default Title' %>
quelle
Wenn Sie ein serverseitiges Skript get_title.php haben, das die aktuelle Titelsitzung wiedergibt, funktioniert dies in jQuery einwandfrei:
quelle