web-dev-qa-db-ja.com

jQuery:.ready()中にドキュメントのタイトルを変更する方法は?

RailsのRubyでいくつかのネストされたレイアウトを使用しています。レイアウトの1つでは、divから文字列を読み取り、それをドキュメントのタイトルとして設定する必要があります。ドキュメントのタイトルを設定する正しい方法(ある場合)は何ですか?

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

    // ???

});
</script>
138

以下は動作するはずですが、SEOとの互換性はありません。タイトルタグにタイトルを入れるのが最善です。

<script type="text/javascript">

    $(document).ready(function() {
        document.title = 'blah';
    });

</script>
301
dpan

IEはサポートしていないため、$('title').text('hi')を使用しないでください。

document.title = 'new title';を使用することをお勧めします

47
vasio

これはすべてのブラウザで正常に動作します...

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

IEでも動作します

40
Albert

このような:

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

検索エンジンによってサイトを適切にインデックス付けする場合は、必ずデフォルトのタイトルを設定してください。

ちょっとしたヒント:

$(function ()
{
    // this is a shorthand for the whole document-ready thing
    // In my opinion, it's more readable 
});
36
cllpse
<script type="text/javascript">
$(document).ready(function() {

    $(this).attr("title", "sometitle");

});
</script>
16
Atanas Korchev

RailsのRubyでいくつかのネストされたレイアウトを使用しています。レイアウトの1つでは、divから文字列を読み取り、それをドキュメントのタイトルとして設定する必要があります。

これを行う正しい方法は、サーバー側です。

レイアウトには、ある時点でdivにテキストを入力するというコードがあります。このコードで@page_titleなどのインスタンス変数も設定し、外部レイアウトで<%= @page_title || 'Default Title' %>を実行するようにします

5
Orion Edwards

document.titleが機能していませんでした。

JQueryを使用してそれを行う別の方法を次に示します。

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