[教學] 如何點一下就打開已經結束的戰場影響力統計表(含研究方法解說)

Day 1,609, 18:36 Published in Republic of China (Taiwan) Republic of China (Taiwan) by billy3321

很多時候打戰場都要求抓圖,但是戰場一結束,要抓圖往往就很困難。
以前也許有不少作法,可是雞沒事就改版一下,舊的方法可能很快就不適用了。

這邊有另外一篇教學:[轉錄][快報] 如何在戰場結束後仍可以查看傷害統計的方法 [TC/EN]

我承認我是因為找不到這個網址所以才發這篇文章的(遮臉)

不才小弟剛好做過一點網頁,因此小弟在這邊教大家如何一步一步的找到網頁做的事情,自己在結束的戰場上打開影響力的統計圖片。

如果你真的很懶,請跳到底下製作書籤的部份就好 🙂

這邊以Google瀏覽器為例子。
首先,我們都知道戰場統計表在右下方。在一個還打開的戰場上點右鍵->檢查元素


接著就會出現這個按鈕在html上面的元素。


原本的程式碼如下:
Battle stats

這邊的意思是,這是元素是一個javascript的連結。這個連結可以用id和class來辨認。
在jquery和css中,id為go_stats可以表示為 #go_stats, class為battle_stats_button可以表示為 .battle_stats_battle
舉個例子來說,這就像是一扇通往不明地方的門,這條路的方法是javascript檔案裏面寫好的,而門牌號碼就是go_stats和battle_stats_button。

既然有門牌號碼,再來就是撈javascript檔案裏面有沒有相應的方法了,這樣就可以知道這個連結點下去以後到底做了什麼事情。
因此我們點開script分頁,這裏面可以看到erepublik引入了各種js檔案。各位如果覺得erepublik打開太慢,最大原因就是他的javascript用的太多了一點.....
接著,battle資料夾底下有個main.jsheal.js。很明顯前面一個是戰鬥主要用的javascript檔案,後面一個是補血功能用的。因此我們點開main.js


點開以後,在右上方輸入go_stats來尋找字串,很快就找到我們要的功能了。


底下就是這段程式碼:

$j("#go_stats").click(function(){
$j('#pvp').block({
message: $j('.battle_stats'),
overlayCSS: {
backgroundColor: '#000207',
opacity: 0.5
},
css: {
width: '456px',
textAlign: 'left'
}
});
});


這段程式碼的意思是說,id為go_stats的網頁元素要是被點到以後,就遮閉起id為pvp的區塊,然後打開class為battle_stats的區塊。底下定義了他的顯示方式,像是寬度多少,字元的對齊要靠左等等。

舊版的程式碼在這邊也稍微解說一下:
(function(){document.getElementsByClassName("battle_stats")[0].style.display="block"})();

這段程式碼的意思是說,請直接撈到網頁裏面class是battle_stats的元素,然後把他顯示出來(display="block")。

這邊專門撈一下class為battle_stats的區塊,很明顯這就是大家常常抓圖的對象🙂


接著我們來做一下實驗;
切換到console頁面,然後把這段程式碼貼上去:

$j('#pvp').block({
message: $j('.battle_stats'),
overlayCSS: {
backgroundColor: '#000207',
opacity: 0.5
},
css: {
width: '456px',
textAlign: 'left'
}
});


接著按下enter。數據統計的頁面就出現啦!


再來,我們切換到一個已經結束的戰場。


從右上方的工具板手->工具->Javascript控制台打開


然後如法炮製,貼上程式碼按下enter!



統計表就出現啦。再來點選最右邊的x把控制台關上,就可以安心抓圖了!

還有一種比較簡單的方法,就是在網頁的網址列上面,先輸入:

javascript:

然後貼上以下內容:

$j('#pvp').block({message😳j('.battle_stats'),overlayCSS:{backgroundColor:'#000207',opacity: 0.5},css:{width:'456px',textAlign:'left'}});

或是

(function(){document.getElementsByClassName("battle_stats")[0].style.display="block"})();

接著就會出現統計圖啦!


不過2012/4/18很多人反映有些戰場抓不了,我自己試驗的結果發現的確如此。
這些戰場和一般戰場長的不太一樣。
這是一般的戰場,底下有秀出統計圖的按鈕


這是無法抓出統計圖的戰場,按鈕消失了


進去看一下網頁結構,正常的網頁裏面有class為battle_stats的這段


但是發生問題的網頁,這段硬生生消失了。


既然要撈的對象直接消失,數據當然就撈不出來了....因此要注意,右下角按鈕消失的戰場是無法撈出統計數據的。

目前已經確認發生問題的戰場是
25209~25212

我會持續找找看有沒有解決方法,不好意思....

這邊是重點!!!
如果你是懶人,走過路過千萬不要錯過這段 😛


我們可以把Javascript指令做成一個書簽按鈕。

從工具->書籤->書籤管理員打開介面


在上面按右鍵,選新增網頁


在網頁上面輸入自己定義的標題和內容。內容如下:

javascript😳j('#pvp').block({message😳j('.battle_stats'),overlayCSS:{backgroundColor:'#000207',opacity: 0.5},css:{width:'456px',textAlign:'left'}});

或是以之前cattail發的版本,這樣也可以:

javascript🙁function(){document.getElementsByClassName("battle_stats")[0].style.display="block"})();



這樣以後只要點選這個書籤,就會自動秀出影響力統計畫面了!


以上!



TaiwanTradeEmpire報業同盟


TTE Weekend   風雨飄搖報   Alan's View
Angel Meow ~ NewsTaiwan TIME’s  The Pink Panther
Hello Tomorrow   Vangola's View Billy's Terminal
Unlimited Bazooka Works