如何用JS(在Rails中)不引人注意地更新页面标题

时间:2009-06-02 06:27:52

标签: javascript ruby-on-rails dry unobtrusive-javascript

每当我使用Ajax将博客帖子加载到页面上时,我将页面<title>设置为“我的博客 - BLOGPOST_TITLE”。

当然,“我的博客 - ”也出现在我的应用程序布局中。

问题是,如何告诉我的Javascript字符串“My Blog - ”而不在我的代码中复制它?

2 个答案:

答案 0 :(得分:7)

在将Ajax发送到服务器之前,将document.title值(“我的博客”)发送到某个变量。 然后当响应到达时将document.title设置为document.title +' - '+ BLOGPOST_TITLE

所以你有HTML:

... &LT; title&gt;我的博客&lt; /标题&GT; ...

和JS:

var TITLE = document.title;

function getBlogSpotEntry() {
   Ajax.Request(url, {
     onSuccess: function(response) {
       var entryTitle = getTitle(response.responseText);

       document.title = TITLE + " - " + entryTitle;
     }
   })
}

答案 1 :(得分:1)

我会这样(脏,但运作良好):

document.myTitlePrefix = 'My Blog - '

然后将标题更新为

document.title = document.myTitlePrefix + blogPostTitle