2011-12-21 10 views
0

私はjavascriptでごみですが、私は私のPHPサイトのタブバーで私のページタイトルの少し動的編集を行う必要があります。javascriptページタイトル編集

私のサイト上でユーザーがメールを取得すると、私からタイトルを変更したい「私のサイト - ページ」に「個人用サイト(1) - ページ」

私はページのタイトルを変更する方法を知っています

<script> 
    window.parent.document.title = "My Site (x)"; 
</script> 

しかし、私がする必要があることは、現在のタイトルをつかむ例えば「マイサイト - ページ」であり、それを変更する「私のサイトは、(X) - ページ」。だから私はその文字列で何か変態が必要になります。

xが何であるか心配する必要はありません。私はPHPではなくjavascriptで手を必要としています。

答えて

0

を(必要に応じて変更Xを)これは動作するはずです:

window.parent.document.title = window.parent.document.title.replace('-', '(' + X + ') -'); 

それとも、単に行うことができます。

window.parent.document.title = 'My Site (' + X + ') - Page'; 

編集:動的 'ページ'部分:

ここ
function trimString(s) { 
    var l = 0, r = s.length - 1; 
    while(l < s.length && s[l] == ' ') l++; 
    while(r > l && s[r] == ' ') r -= 1; 
    return s.substring(l, r + 1); 
} 
var t = window.parent.document.title; 
var page = trimString(t.split('-')[1]); 
window.parent.document.title = 'My Site (' + X + ') - '+page; 
+0

2番目のオプションは重複(1)(2)などを防ぐことができます。 – techfoobar

+0

これは良いですが、私は "ページ"が何であるか知りませんし、現在のタイトルからそれをつかみたいと思っています。 – user1022585

+0

最新の回答をご覧ください。 – techfoobar

1

このような何かがうまく動作するはずです:

var x = 5; 
title = title.replace("My Site", "My Site (" + x + ")"); 
+1

良いわけではありません。いくつかのメールの後に "My Site(3)(2)(1)"が表示されます。 –

0

あなたが取得し、JavaScriptを使用して、タイトルを設定することができる方法です。

function showTitle(){ 
    alert(document.title); 
} 

function changeTitle(txt){ 
    document.title = txt; 
    alert('Title changed to ' + document.title); 
} 

あなたのphpを注入するために、あなただけの別名、それをパラメータとして渡すでしょう:txtパラメータをすでに関数。

0
var title = { 
    theme: "My Site (<@>)", 
    replace: function(txt){ 
     document.title = this.theme.replace('<@>', txt) 
    } 
}; 

title.replace("something"); // title is My Site (something) 


title.replace("something else"); // title is My Site (something else) 

など

関連する問題