|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - P# \) y# x# u2 K% j
- ^( G3 @+ s$ \4 q3 f, r* X火狐插件,用猴子
: R1 K i: e5 ^# g
# ~" I5 r. P) Z7 [6 evar debug=false; # | N0 M# `5 F7 C( v. ?; j% E
var CleanHideObj=new CleanHideClass();0 n; [" s, R/ j! r% K
5 h$ ~, Q) L, |function CleanHideClass()
# F4 N* @2 {# Y6 l) I{ " Y, A4 |# `( I; ]) p
* ?6 V3 w8 b# ^0 a
this.on=function(id,bMZ)$ x% ]7 }& j4 F2 _0 C7 ~; [3 V" h9 [
{3 R# T, F* ~: O! O3 T) \5 K$ X# q
# K) N% ~" z1 ^0 i
if(id == 0)+ n: w& w& Q8 [' s( ^
{
* ]) M& Y; Y' J6 H9 w3 | var page=/* document.getElementById("content").contentDocument */document;
! d$ v: P/ u- }% N this.RemoveHide(page,"span");5 ^+ B- D5 Z( a$ t/ A
this.RemoveHide(page,"font");
+ k( c" Y. p% Q' s, P5 H this.RemoveHide(page,"div");
0 _0 ?2 W8 _7 |! R this.RemoveHide(page,"p");7 s3 M9 @1 r% q8 H& ?9 B1 d
3 E" z9 m. W* V, X# v/ e3 h# i
}5 S; e1 I g5 D) g
( C7 n1 d/ L: Z4 O
}, I- T) a" v( D+ t! ]
this.getobjstyle=function(node,prop)" f6 E& e @ {1 s9 v3 R
{$ h# i5 m1 b0 X" Q7 Q
try. S! v% s$ j. P7 \$ s
{; L- i3 e. g' q7 o2 H6 i
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' Z+ ]; l% e7 ^% F+ X }
, ^" M3 e' z# G% d3 |9 N5 \$ L catch(e)
/ }1 l/ o! I6 \/ ]% ~/ V {
, W& y# {# o# z. t4 p# h0 G if(debug)
. h O U! v6 k0 i- s9 `& @ D( C* ? {
" f. R) O2 _7 g$ g7 g; n- g alert(e.message);
2 @. `0 H9 |+ `$ z& _( v7 @; v2 w }
) E+ m1 h" O; C2 U# R9 b, G5 Y- {
, ~2 L) t3 _* n return "200";
4 U2 {+ L" [9 x5 U }& p$ w/ D, \( P) Y8 e4 D
}
. j P/ }( L. `. n5 U& @
/ r; Q) T9 I% ]9 i& G( y this.RemoveHide=function(page,objname)# y$ N, r" @8 l2 Q- j; [3 l
{
; F5 ^' h9 B# N* b try( J! a( ^6 a: Z# j. [1 o8 s o) h
{. `( W0 g! s) A3 v# Y" v5 l% H
var minValue=15;4 Z) k( l( c$ V$ P+ {2 }, A
var objs=page.getElementsByTagName(objname); , n Q7 I, |- M* p8 p! K8 n+ ~
0 ~1 l; S2 L5 T. G
if(objs.length == 0)
: \' k3 ~8 M- v: a; w4 t% [ ~1 T {
8 e0 C3 {+ j# ] if(debug)
" R# O- `' f# l {
- h6 }3 [2 p% W alert("no object found!:"+objname);
% _. S6 H& }$ L t/ v5 k( q. [: ^, [. y" a }
! W9 R0 a/ U3 J7 p& K }/ i" c, u/ w' g, J/ b0 S1 f
else, E+ v A) \0 O
{7 d& ?: H7 @! m! Q" A) Q/ O
3 c0 v2 T) E: h( R! J4 k
for(var i=objs.length-1;i>=0;i--) ) p5 s4 t; N$ ^
{
! G3 W: F4 b" m* v- g7 @ var node=objs.item(i); P* w- \6 R+ {5 ^
" n/ H* q" \( J0 }. N; s( X5 @
3 p: o4 s: m. v. G7 V. w6 B0 i if(this.getobjstyle(node,"display") == "none" ||0 C2 L, s5 l7 A/ A
this.getobjstyle(node,"visibility") =="hidden" ||3 U+ n4 L8 ~( V; l
parseInt(this.getobjstyle(node,"font-size")) == 0) 2 h7 o# b: Y' u% x$ z* d7 T
{
5 U; {- w, U: x; n& V3 k' A& a if(debug)4 _& f6 N6 s/ |
{
+ S% S* S- b- K {! V alert("remove invisiable!");
7 o) a! K, I! p, b1 N: o7 ~5 I- T8 a }
: e1 ?+ F) i* [% T4 r node.parentNode.removeChild(node);+ c4 P) E% l: U; W
" f7 @4 K& f+ f/ v/ T% h; a6 \& A }8 s1 `( K1 I0 O) N1 Y- R
else
% c7 P/ r) D, Q. j( Z {
' U [' a4 h5 R" R0 d+ v' j+ f if(node.parentNode)
" L& U/ J$ R4 A {
1 x% e$ ]- X5 ~% L4 O' m var orgNode=node;
Q5 ~: G0 e# z, }$ ~! {1 t var orgColor=this.getobjstyle(orgNode,"color")
) f$ b# Z$ P4 \1 }: D var orgRGB=getRGB(orgColor);
( k, {7 l$ h' j) j7 b' Y+ p 9 |- Q4 n$ D6 Z# ?3 @; _
var parentNode=node.parentNode$ u4 G# `$ h2 @( z4 ^3 Y- {% m
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& a3 x8 E' Z' x) J2 f 8 P+ z/ f* z0 r0 T3 f; p# _
var isLast=false;
2 T8 V. z' s5 `
* v7 [& D0 d* C# k6 K while(parentBgColor == "transparent")
! @+ F" k4 ^' n# q, n {
, ^3 ?; h1 q% F- l3 }% q
$ f/ h; h$ w2 ?+ i! d6 E* h7 M3 `
- M& M8 p: p# S I if(parentNode.parentNode == null)2 J) J/ b5 K/ a3 B8 [
{
4 P- H$ x0 q3 w/ t- p+ S P5 _" y# F isLast=true;6 w* |- @, I; H' W7 B& z/ N
break;6 t; b3 R" {' X$ I% |
}- r3 L) w, B; s% W# \
parentNode=parentNode.parentNode;4 h& d! \- S, i* ~, S# K+ f {5 e
parentBgColor=this.getobjstyle(parentNode,"background-color");7 F, ^( x! U: f" Q5 Z4 P$ _
& F. [1 S5 s+ } if(parentBgColor != "transparent")
0 A, ]2 D" ]$ [ {+ i' P/ q" Z& v* C# f4 e
break;
- r* n* f( {# [ }5 p; M }; @- _5 k- f: A
}
9 ^5 p& B$ L+ n, t8 j( B! o if(isLast)
+ D9 O+ R9 K& {4 B0 y& ?: d2 M' |1 \ {1 u! s d0 a% a/ R4 V
if(debug)6 \+ Y1 A( w' b
{
3 p8 f; O4 }/ X: @2 z alert("last!!"); ^! V9 O4 G, V9 E; e
}
0 d- Q z3 \3 O( v if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), P/ d! k* h5 _
{1 u# r6 I! K3 a! e& R8 D
orgNode.parentNode.removeChild(orgNode); / N, f. R! U/ {& ]' c
}
$ @- B/ V+ ]$ V' ~ }5 l! a6 g4 @# A3 w# m: X
else
8 k! K% w2 f' N; X( A( T8 d0 R& G {
9 K" Q( O+ y2 ~# P7 Q# t if(debug)
/ ?$ {+ T3 a2 I6 V {6 h+ o j5 X3 x) y" h
alert("compare color and parent bgcolor!");4 P( S# L% ?- j( [& |+ z, }
}) b+ v4 i4 Y+ _3 V- d& s+ j
parentBgRGB=getRGB(parentBgColor);6 z- Y" P3 Q% ^0 ~
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' }% V$ m1 @1 m2 }) Y- C/ a
{; _8 F* l: }, r' u. D: D _$ V5 C
orgNode.parentNode.removeChild(orgNode);
( `* b" T0 ]* z8 N }0 k. k( V6 j& a
}
, q- Q( W1 r* f. B8 Z }
# \- d! `% r2 i) A6 `! p }
$ K& _1 R) E, y) O/ e5 h5 E# T }: s8 C6 |) q. V
}
C. J: {0 R' |$ J% T) f
) G! e' l! [ L, P8 i2 @5 O & e7 M8 X& J0 {$ K. @2 W. B* H
var itemFrames = page.getElementsByTagName("frame");
. ?$ F7 Q% M5 U% ^* B var itemiFrames = page.getElementsByTagName("iframe");& J: ]5 _/ w9 K1 O
' w) E/ u( r, n- L
var frame, iframe;4 `" d% x* \. I: T# D2 ^" A
if (itemFrames.length > 0)
( h" J( z+ ]1 }" B1 E# x' E i {3 p: Y$ G& O5 W
for (var i = 0 ; i< itemFrames.length ; i++)
% K" [& `% a0 e ^& F {& I0 Q8 ~9 G7 m, p
frame = itemFrames.contentDocument;
1 q+ R* ~5 U* r5 { this.RemoveHide(frame,objname); - Y3 f& q' G/ i4 o: X' J
}
1 |. ]; B6 t6 v! I! O5 P3 l& J2 h; A }
1 V7 V; j7 u/ X* ?* o# ~, X* u: B if (itemiFrames.length > 0)
9 E1 [/ M2 l% {# ` {
1 e: n3 Z& Z) b8 } for (var i = 0 ; i < itemiFrames.length ; i++) + T3 Z0 k1 _, v% A3 U9 B5 Q
{9 k. h2 V9 q/ L- N n# ~4 ?
iframe = itemiFrames.contentDocument;' T- D6 Q1 a7 V
this.RemoveHide(iframe,objname);
7 O J& h+ ], a }2 N) G6 \- q+ h. b; @
}
9 y* o1 O( ?# q9 F }" ]3 g; A5 _' a% I" Q7 _* K8 V- O9 U
catch(e)
' N8 R6 s- _: T: @3 T. d7 n* d+ p' g- A {! \' K4 e& F- n- m6 @. X
if(debug)9 A! b _0 D# b3 c6 Y8 a
{
) g/ N- |! E* H1 y' Z* X5 X, h alert(e.message);( f8 E+ n' Y6 K7 B$ a: @/ {* @
}
$ ?( M; ?; r4 b }
7 j6 ^5 s4 x% {7 M8 g" j } V0 a j* C2 |' V# u" U
$ f6 P/ g: d7 |: @; S/ g* a}" ]' A4 }& A: N. b1 S! o0 R0 D
* [$ s1 N; E; ~' kfunction getRGB(colorString)
; N7 {5 T' A# g* S8 y; J{
. P" t2 V' g8 N; H$ A& R. j var RGB = new Array;
Z: o( ]5 Y+ D# ]+ Q var tempSting=colorString.substring(4,colorString.length-1);2 y& Y; I3 P5 n0 ]; ]: y& o' B! `3 H8 I
var tempArray=tempSting.split(",");4 B6 N, n. m( Y8 U6 Y1 M
; r+ c2 i. R- m' n% a) z3 ^3 b7 q) L RGB[0]=parseInt(tempArray[0]);
! U) z `3 i/ } RGB[1]=parseInt(tempArray[1]);
0 g% I$ _3 d6 [ RGB[2]=parseInt(tempArray[2]);
* B6 C R" W1 t2 ?- j' M* X
" }4 r' t: Q. f: c' {9 Y) P; T return RGB;% G- u! v: n, C: k
}# h; O9 `. m9 O+ j, m* W! D& q
function keys(evt) $ E8 J. {' G" P% t6 w8 G; D
{ : h( H6 W: H& Z- k: v7 h) k- Q! I! x
if(evt.ctrlKey && evt.keyCode=="81")
) i' S) C2 L. j, V7 o { ' d$ z2 F0 V* j$ h. c
CleanHideObj.on(0,1);) d/ U: l) e' E8 D# C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 b5 B+ ?. d% V5 X: ^3 c
# u( R) I& m B/ w- y } ( l3 F! W+ t# C7 s/ t9 A
} " v' E3 y l" X( T
document.addEventListener('keydown', keys, false); # Y6 M0 v$ D. `% d# b5 {; g) F& s, h
GM_registerMenuCommand ('Clean Hide',* M/ \2 v% B9 m6 |3 b0 ^
function(e){$ o) G( {5 L! u9 h! c0 J. ?
CleanHideObj.on(0,1)
) j% y6 m2 j: T8 ^8 M' Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% R5 u) h3 l+ ~, \+ Q% i
});
0 Z8 e% C5 M/ m) U% A; I |
评分
-
查看全部评分
|