2011-08-08 5 views
0

こんにちは、これは私が愚かなことを申し訳なく思っている最初の質問ですが、JavaScriptとGreasemonkeyの一般的な新機能です。Javascript/Greasemonkeyを使って特定のhtmlを読むには

質問HTMLの特定の領域を読み込み、変数として保存するにはどうすればよいですか?サンプルコードが読み

<td align="center"> 
<br> 
<b>Player:</b> 
58236 
<br> 
<br> 
<b>Guild:</b> 
<a href="guild.aspx?guild=23234">Example Code</a> 
<br> 
<div> 
<br> 
<b>Old Nickname: </b> 
Nick 
<br> 
<small>(until 2011-07-31)</small> 
<br> 
<br> 
<b>Level:</b> 
21.04 (Rank 3,315) 
<br> 
<b>Economy:</b> 
969 
<br> 
<br> 
<b>Account:</b> 
Upgraded 
<br> 
<b>Expire:</b> 
2011-08-29 
<br> 
<br> 
<b>Account Start:</b> 
49 Days 
<br> 
<br> 
<img title="Account Upgraded Badge" alt="Account Upgraded Badge" src="http://cdn.astroempires.com/images/badges/badge_upgraded.gif"> 
<br> 
<br> 
</td> 

は今、私は私がように気にいらをしなければならないでしょう、それを理解しているように、プレイヤーのレベルを抽出したいと言います。

Level = document.body.innerHTML.match(/<b>Level:<\/b>/); 

そして、そこから行くと、この種の方法を使用してWebページ上でHTMLを読む方法のサンプルコードと説明はほとんど見つかりません。

答えて

0

これが実際にHTMLの場合は、それはちょっとした技術です。

"簡略化された"バージョンのHTMLの場合は、編集されていないページにリンクしてください。情報を抽出する方法は、HTMLの正確な詳細によって異なります。

とにかく、jQueryを使用してください。それはCSS-like selectorsが本当にあなたが希望のビットで家に入るのを助けるでしょう。

ここでは、jQueryを使用してレベルをページのように抽出するGreasemonkeyスクリプトを示します。 :

// ==UserScript== 
// @name  _Get info from poorly structured HTML 
// @include http://YOUR_SERVER/YOUR_PATH/* 
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js 
// ==/UserScript== 

var LvlMarker = $("b:contains('Level:')"); 
var LvlText  = LvlMarker[0].nextSibling.textContent; 

alert (LvlText); 

ajax-ifiedページには追加のトリックが必要であることに注意してください。

+0

ええ、実際には、テーブル、div、および一部のラベルが混じっていて、いくつかのラベルが付けられていないので、HTMLの形式が非常に貧弱なので、ゲーム開発者は、 。しかし、お手数をおかけしていただきありがとうございます。 – Sam

+0

Brock Adamsさんに助けていただきありがとうございます。これが私の結末です。 function PlayerLevel(){ \t var LvlMarker = $( "b:contains( 'Level:')"); \t var LvlText = LvlMarker [0] .nextSibling.textContent; \t var Level = LvlText.split( "") \t alert( "Level =" + Level [1]); } アラート出力:私の場合は「レベル= 21.10」 – Sam

+0

よろしくお願いいたします。 [この質問は回答ですか](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)? –

関連する問題