1

私は、ページタイトルがゲームタイトルではなく、サイト名とサイトの説明を反映しているゲームサイトにいます。各ゲーム名は、次のようにページに表示されます。

<div id="gr-header">
   <div>
      <h1><a href='/games/'>Games Room</a> - Some Game Name Here</h1>
   </div>
   <div>
      some other stuff
   </div>
</div>

今、私はURLでゲームIDをそれぞれのゲームタイトルに手動で照合し、次のことを行っています。ここidlistで、はチェックするのが面倒だったゲームIDのサブセットを含むgamelist配列であり、それぞれのゲームを含む配列です。対応する順序で名前。

for (i=0; i < idlist.length; i++)
{ 
   if (gameid[0] == idlist[i])
   { 
      document.title = gamelist[i];
      break;
   }
}

ただし、ゲームが多すぎて手動で一覧表示できないため、これはエレガントではありません。Webページから「SomeGameNameHere」テキストを取得して、そのテキストを変数に格納するにはどうすればよいですか?

4

2 に答える 2

0

投稿したHTML構造から、これを試してください

var title = $('#gr-header h1').clone().children().remove().end().text().replace(/^[\W]+/, '');
document.title = title;

これは、の直接テキストを取得しますh1(つまり、その子のテキストは含まれませんa)。

(REGEXは、ゲーム名の先頭にある「-」を削除します。必要に応じて調整/削除します。

フィドル: http: //jsfiddle.net/gcMTt/1/

于 2012-07-17T13:43:12.823 に答える
0

querySelectorと単純な正規表現を使用します:

var nameElement = document.querySelector ("#gr-header div h1");
var gameName    = nameElement.textContent.replace (/^.*\s-\s/, "");
document.title  = gameName;
于 2012-07-17T13:53:59.103 に答える