|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' g! j9 b# n1 N
! K( {5 B, T6 x0 P- f+ C& h) x0 c火狐插件,用猴子
w0 s' h% C! T5 ^8 |7 x
& J5 |+ ?% E4 R* D2 N/ r0 dvar debug=false; ) R7 E- T! J2 m9 N" K" J: j
var CleanHideObj=new CleanHideClass();9 g# ~7 L1 G* M9 {1 z1 f+ a
3 O5 s |' c0 ^3 A& g/ W9 u& ~. I$ E
function CleanHideClass()
. f0 E2 M4 c: a& [: o) C0 P{ ) g6 c$ b5 m* W1 s
! |8 `: Q5 J1 L: C9 _0 V
this.on=function(id,bMZ)
* B- K- `. W. v* q {) t& k' h* @2 W3 H7 C3 f
* P4 M7 z7 Z. G& A% ^( ?6 w; \ if(id == 0)1 f$ H$ O% N( ?; W" k @
{
; b8 X I8 j3 p+ @ var page=/* document.getElementById("content").contentDocument */document; ( Z6 p, R$ {0 |. W1 U" y6 V
this.RemoveHide(page,"span");
9 f) ~; Z4 Y9 S3 z this.RemoveHide(page,"font");
4 f9 N1 \$ c% t5 T this.RemoveHide(page,"div");
' k8 k+ S8 R9 _: }! B0 W8 m$ f this.RemoveHide(page,"p");! h" j3 e" c+ R1 F. Y
( L9 l6 H& U; v3 M: S }' x9 L8 a' y1 R+ k
9 ~: e5 Z- g0 h' {; \: {6 W( K
}
) `+ K3 f/ X' H- ?3 I# O this.getobjstyle=function(node,prop)
( K0 _& T$ o+ H% {" e% t( } {
# a. u; ?# f+ }0 T! }7 z x$ P try
1 A0 K" v$ m% _9 g {1 ]+ b3 ~: z8 _( w0 v- R
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 y; i t4 v C$ g! m6 v$ y/ e }
3 c0 H* }2 m8 M( R* k# @5 a/ H7 q catch(e)$ }- A5 w% B# ^. _! f6 M/ @# d
{
1 {" v, I! ~& S& `/ ~ if(debug)
' I2 V& T6 L- [0 k2 z {
+ ]: z& M1 T# D v* @, Y& e alert(e.message);8 B$ f6 L4 `& {/ b9 A8 b
}
4 |% S: x7 I3 g1 U8 h
, {8 c0 a7 b: p) ~' ? return "200";
5 }. |1 g/ Q3 |9 Z# {: K }
7 y: X, [- X B; N9 V* [ }
5 c6 @+ I3 c% |" S4 V6 ^, N; P
, z: N e2 t, `% }0 v9 b c0 Y) s this.RemoveHide=function(page,objname)
8 V4 b, P m9 b) j, \. U, K {
* s3 I: t3 [$ W7 ~( [0 r try4 y3 j% J, Y* @
{7 A" K$ C- n: S _6 p5 u
var minValue=15;
7 g7 c+ m1 \+ s+ A, N var objs=page.getElementsByTagName(objname); 7 W$ X0 `' m6 U* z! T7 [7 D
; U. Z7 h/ A C. B \, G/ _, t* A
if(objs.length == 0)
9 M' P9 `- J; j. t {8 v/ x" j, d% b9 t3 B w6 J
if(debug)
: {0 j" P1 u5 v+ F1 q* g7 P {0 R3 Z% H( B6 h8 _* J# H7 H' `
alert("no object found!:"+objname);
' Y1 w5 z, \5 |0 K }3 T' {. n3 w) M- @! `1 P' h
}3 ^2 C; Z7 V; f( o4 E; W
else) C; w; x. D7 ^0 m7 ?2 L4 ^3 t
{3 b- V6 L! s5 R# p$ v( N5 W
; h$ E m* @& m
for(var i=objs.length-1;i>=0;i--)
& d% K6 r0 T- G- R1 R {7 e1 K/ h; E4 c" o
var node=objs.item(i);
; x1 j) ?8 j7 `4 J ) g& K, }& ~' \: n8 ?3 M4 }( a
5 V5 V: s( w1 ?; P% M: {. h( C9 D
if(this.getobjstyle(node,"display") == "none" ||
9 _3 b R) h$ c/ c1 e this.getobjstyle(node,"visibility") =="hidden" ||5 E0 {0 k8 c7 Y. f9 S5 [' H$ g
parseInt(this.getobjstyle(node,"font-size")) == 0) - P3 O# I4 G+ C4 P! d4 P) m
{& L9 @, m5 d# L; X5 o8 ]
if(debug)1 }* N4 ]6 g: Q$ k# O7 r2 Y8 Y
{
# y U1 z$ M6 |. b1 S- t alert("remove invisiable!");1 b1 Y3 a# P7 x& F
}5 q8 @! x b4 m8 ~# D
node.parentNode.removeChild(node);
9 o: T- M& N/ o: J9 u) d% O % w+ [4 j- v! n7 p% B0 [8 Q$ I
}* m5 S; W+ {4 p5 {& Z$ u
else
% K9 C0 z% z; f8 p0 [9 {( i$ y {
2 ~6 M! G" `3 M8 l) O* ` if(node.parentNode)
% }- a8 X& d' t# g% j {
& G# ^" t0 z% `7 O var orgNode=node;
- Y5 k9 j! C0 x6 G- U! q8 j7 ^ var orgColor=this.getobjstyle(orgNode,"color")
0 c+ F% E9 | t7 ?5 X var orgRGB=getRGB(orgColor); ' i) x8 ~. k7 Z7 v
8 s7 T _% v2 S; m- |8 p! a2 q var parentNode=node.parentNode, y9 l; A2 L$ q
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ x5 \- X/ |2 x/ C0 W* _0 E. O2 A0 x 4 f$ ^) k! F# T: h0 f- v
var isLast=false;" F* `# v" O0 j _0 N1 a0 g# z/ n0 d
' e# f" t) m: o0 ?/ R; u9 U
while(parentBgColor == "transparent") 3 X g# q* k. C0 a9 ]0 s$ K2 }# K
{
1 n; h8 P, M& j' O: o m( n2 r % y i+ z1 H2 _+ B6 b2 W8 y
, o# a4 ~8 S9 U& n. r+ q" K" @9 \
if(parentNode.parentNode == null)
0 B- e J* n( k! c5 O; e4 j {+ @" G/ G0 _) d$ [6 r ^$ ~
isLast=true;
m% d4 t0 x+ a( m$ A% L1 A break;/ r* l+ \: Q4 z2 I* Q
}. z% G" |0 i% z
parentNode=parentNode.parentNode;5 ]* c; b, G7 u+ N- d" x) G" n
parentBgColor=this.getobjstyle(parentNode,"background-color");
. ^; Z7 j4 y$ a0 q* ?. N# |; p: d/ W1 D( k
if(parentBgColor != "transparent")
* }! c' }& d2 m2 b0 ]' a7 d% X {" j$ k/ n6 F7 Q3 x2 R( u# X
break;0 n: }# ~. b: ^, g5 z& F& C" i6 E& q
}
9 [+ d7 T8 j: F }4 P d& E: Q: K+ }0 d! K1 F) }& s
if(isLast)
% M1 _6 ?! V m, K" v {
9 w4 {5 f2 ?' ]+ K' v if(debug)
* ~+ h( u( l0 B3 s2 f {
5 d# K" @& v/ V" p alert("last!!");& D# A# [2 F* g: v ^
}' @6 a4 i- `# C! d+ C* n! p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 k( U5 m L" Q# @* I' \
{
2 b; ~5 p3 n6 t5 Y5 B. L$ H8 s orgNode.parentNode.removeChild(orgNode); ; L% L: B; D: k- t
}
$ b& T: v( x C* w, S6 b) m1 k& v, _ }
: d0 c$ j7 J" P% X1 } else' ~2 W- @' a- ?3 e
{) z# c+ E+ E% d, i: c4 e* R, Y
if(debug)2 Q( i1 J ?9 L$ x
{
, v) I! q, W! K5 Y2 c alert("compare color and parent bgcolor!");
- E% C0 }1 [) |8 s9 h }$ x+ H/ ] Z* T+ s
parentBgRGB=getRGB(parentBgColor);
+ ~# s m- u1 N* D+ _! W if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
n' w2 z1 b! X6 I) U( T( F' T {# k- z; v! O6 Z+ I! `
orgNode.parentNode.removeChild(orgNode);
. L0 }) H, A! L }6 D* _, C/ R7 N2 S0 C$ _& U0 C
}
! v& m5 w2 P9 w! i( o }5 |) C# Y# u2 ]( ~$ c
}
4 A2 n+ j! D4 G( |4 [7 d }
2 N" ]/ J$ W6 L! \ }2 r3 |- l3 E o& `) o1 V
( X. e+ K0 K1 X, G$ m. a* _
% D( r7 s- r% |/ a' a9 X) S
var itemFrames = page.getElementsByTagName("frame");0 [; C0 d$ x' S; _
var itemiFrames = page.getElementsByTagName("iframe");& N; k U& u, L. N; N& E
$ w" X. z4 A6 x* C8 e X
var frame, iframe;
, O4 `/ |2 f8 T W# S# Q! ^ if (itemFrames.length > 0)
( w. u; ?% u9 W$ v+ X5 s: W {6 y6 m x% g9 F% Y
for (var i = 0 ; i< itemFrames.length ; i++)
" ^# _( [4 B6 d {' \# g; y0 [8 G
frame = itemFrames.contentDocument;
- t3 D" R/ H3 O. S. u* \ this.RemoveHide(frame,objname);
% F0 n' P/ T( W5 ~0 v9 J }2 {2 n) t7 E+ s; \
}2 v- h" B% b9 y! E* {, A" B& Q- F! m
if (itemiFrames.length > 0)/ N! I# p$ N: ]' D) M
{2 E8 O, _( J) E( H( g
for (var i = 0 ; i < itemiFrames.length ; i++)
1 i; a5 [' D; @; ~9 v {
$ p2 q ^" w/ c iframe = itemiFrames.contentDocument;* \: }! j3 R9 @3 \1 }+ B$ d
this.RemoveHide(iframe,objname); ) Y9 F" R! H; w; ~2 s
}
7 W( z ~1 ?- R4 h }
) K9 B0 j4 {! I; q4 W }, n3 c! ~! C+ A+ L. v1 @) Q( d; h
catch(e)
8 t0 f) f: a) n5 L {! i' K4 u, P3 N7 H
if(debug)' I7 k" s2 w# x9 v* A
{
- i# \- h$ I" S alert(e.message);
4 u5 D1 t4 ?* V- |2 G }
: }0 E" {% W1 O }4 I1 y# ?% l" M D2 S8 }, Z
}5 b/ u2 _ e5 r. ?
! K# T ]% U8 x- p& V7 Y3 H}
% Q2 [0 R4 ]8 C/ c- E# Y7 j
8 b5 j, F V+ I6 Z0 Y4 Y/ x5 N5 yfunction getRGB(colorString)
$ N2 W2 k" @% V1 \$ u2 r{
/ e3 Q5 ?& O# G1 G) N4 Q var RGB = new Array;
& F; B/ u/ `; L var tempSting=colorString.substring(4,colorString.length-1);
. I6 @; |4 [! f. z: l. Y7 ? var tempArray=tempSting.split(",");
" {5 w' c5 I" v2 ~
: I5 X) G% p9 W g( a! h5 g RGB[0]=parseInt(tempArray[0]);3 j/ x5 Z( b* j% t3 @7 d
RGB[1]=parseInt(tempArray[1]);
$ G, ?- Q; }3 g6 p" R RGB[2]=parseInt(tempArray[2]);
$ ~. D6 V% ]- f/ u 1 b: _! ], s7 k9 d/ `5 b
return RGB;
! L" s! }, P' _4 h}& o& w1 a- y3 ^0 g8 i( Q& ~' x
function keys(evt)
, J# ~5 r( y) y( V# R# U {
& X5 ^, g* o; a+ \ if(evt.ctrlKey && evt.keyCode=="81")
: ~9 S+ p7 r( p { 6 t2 T- K( d* R
CleanHideObj.on(0,1);% }" l7 n9 v. a* K+ a3 `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 B9 ~ t1 ^7 N, O ( |! q; X/ @ O9 B T4 U; l
} ; d5 n( b. z: K
}
2 t: u) ?7 v6 R' S7 S) Udocument.addEventListener('keydown', keys, false); " I7 Q" U" l& X. C
GM_registerMenuCommand ('Clean Hide',% `( w- M& o" }" N; K
function(e){
1 {+ T- I' a4 z% \. BCleanHideObj.on(0,1)! d" h( V- a/ Y% T; ]) w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 V' z1 R7 [% ^" g; V5 _+ }9 I});
5 c. {6 g, S5 x |
评分
-
查看全部评分
|