曾觀看線上漫畫的朋友應有類似經驗,本來只是想看漫畫,卻整個網頁塞滿了廣告,而且因為廣告太多,造成漫畫超過一頁而必須用滑鼠拉來拉去,要看下一頁,還得在廣告堆裡找下一頁連結。
個人認為:
1. 既然是看漫畫,最好只秀出漫畫圖片,其它都清乾淨。
2. 因為載入一幅圖需要點時間,最好在看第一頁時,第二頁能預先在背地裡載入,等我看完這頁,下一頁也下載完畢,這樣完全不用等待。
3. 再者,用滑鼠找到下頁連結再點下去實在太慢,為什麼不可以隨處按一下滑鼠或鍵盤就自動換頁呢?
抱著獨樂樂不若眾樂樂的想法,在此野人獻曝。
a. 針對第一項需求,我用的是Stylish套件,它可以清掉絕大部份我不想見到的內容。
b. 要達到2和3的需求,我使用Greasemonkey。操作方法是載入畫面後,點一次滑鼠(或按一次空白鍵)就在新頁籤載入下一頁;再點一次滑鼠表示關閉本頁,下一頁自然跑到前景,如此可以有翻頁的效果。
c. 另外,我使用Tab Mix Plus來達到在背景開新頁籤載入連結的效果。
也許你會問,既然都用上Greasemonkey了,那Stylish可做的事應可完全用Greasemonkey做掉,如此不更省事。的確如此,但實測發現,Greasemonkey是整個頁面載入完成並且秀出內容後才開始動作,因此畫面會先顯示再消失,有閃動的感覺。若用Stylish,內容直接被隱藏,不會秀出來,效果較佳。
以這個站為例:
http://www.yixia.net/pic/445/1_2.html,畫面如下:
http://forum.moztw.org/files/y1_200.gif
原始畫面充滿廣告,連漫畫本身也被遮住了。經過Stylish修飾後只剩下圖片:
http://forum.moztw.org/files/y2_164.gif
上圖左方中間有個紅色小方框,內容顯示Next,這是我用Greasemonkey所做的,提示點一下滑鼠會在背景頁籤打開下一頁。
按下滑鼠後,在目前頁籤右側會出現新頁籤且正在載入下一頁,而剛才的提示方框內的文字變成Close,表示再按一下,目前這頁會被關閉。
http://forum.moztw.org/files/y3_768.gif
再按下滑鼠,剛才的畫面被關閉了,取而代之的是原本在背景的頁籤,而這個畫面的提示方框顯示Next,操作狀態又回到前面所說,依此類推。
這麼一來,只要不斷地點一下滑鼠或按一下鍵盤,就可以連續翻頁,可以一口氣看下去,豈不樂哉。Firefox和套件所展現出的強悍莫過於此啊!
以下是我的greasemonkey script:
代碼:
// ==UserScript==
// @namespace
// @name Yixia
// @description Click to open next page, click again to close current page
// @include http://www.yixia.net/*
// @exclude
// ==/UserScript==
// add a note
var clickNote=document.createElement('div');
clickNote.setAttribute('style', '-moz-opacity: 0.5; position:absolute; z-index:99; top:300px; left:1px; font-family:Tahoma; font-size:9px; background-color:#f00; color:#fff; margin:0; padding:0 1px 0 1px;');
clickNote.innerHTML='Next';
clickNote.id='clickNote';
document.body.appendChild(clickNote);
// open next page or close current page
var doOnEvent = 'if(document.getElementById("clickNote").innerHTML=="Close"){ window.close(); }else{ document.getElementById("clickNote").innerHTML="Close"; window.open("' + (document.getElementById('hl_next')? document.getElementById('hl_next').href : document.getElementById('oHTML').getElementsByTagName('a')[1].href) + '"); }'
document.body.setAttribute('onclick', doOnEvent);
document.body.setAttribute('onkeyup', 'if(event.which==27 || event.which==32){'+doOnEvent+'}');
還有Stylish style:
代碼:
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url-prefix(http://www.yixia.net/pic/) {
/* hide elements */
iframe,
.fontborderbig,
#whole[bgcolor="#eeeeee"],
#Table1 tr[height="35"],
#Title1_pl_title,
#Table1[width="200"],
#pl_info hr,
#pl_info p,
#pl_info br,
#pl_info + p,
a img
{display:none !important;}
/* set size of wrapper */
table#whole[height="100%"]
{ height: 800px !important; }
/* set img size */
img { width:670px !important; }
}