May 25, 2013

jquery-pjax後にHTMLのタイトルを変更する

色々やり方はあると思いますが、以下の方法が簡単でした。

JS側で、ajaxCompleteを監視します。ajaxCompleteイベントが発生したら、'x-pjax-title'という名前のレスポンスヘッダでタイトルを変更します。
$('body').bind('ajaxComplete', function(event, xhr) {
    if (xhr.getResponseHeader('x-pjax-title')) {
        $('title').text(xhr.getResponseHeader('x-pjax-title'));
    }
});
'x-pjax-title'は、PHPだったら
header('x-pjax-title: xxx');
で出力します。

参考:
https://github.com/rails/pjax_rails/pull/22

No comments:

Post a Comment