|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 \, x+ i( q2 f0 F' k
* ]6 Q. J8 v9 W6 `, i火狐插件,用猴子
' {' W2 ? T3 v" u) @3 K, \$ _% Q& W' S( f& Q& s# C/ P8 R
var debug=false;
$ k% G6 g/ P! G; Ivar CleanHideObj=new CleanHideClass();
1 c, x! Q: H$ V9 N6 @3 s2 T: g1 d ~) k; k
function CleanHideClass() A- I* B b3 }" A* D5 X" U
{
5 [- P0 @! r& L; P* z ; E, ~6 P/ R' A, O8 x' Y0 p
this.on=function(id,bMZ)* o. A/ T" z ?, p
{6 {, u, Y. Q3 g2 G5 a
3 e( |' l7 C7 O if(id == 0)6 W4 w/ i. S0 `. q& v. {& i b
{8 c) A. c6 _3 O6 P% S4 Z7 |
var page=/* document.getElementById("content").contentDocument */document; 2 P. I; ^: H0 F3 C. L: M: j
this.RemoveHide(page,"span");
2 Y0 j, o% \ U8 H6 j this.RemoveHide(page,"font");- Z9 P1 N: I+ Y
this.RemoveHide(page,"div");2 i: J/ a2 w" Z: H6 j& L
this.RemoveHide(page,"p");
! N2 Z7 u: t$ V
/ F, R; F9 s% m% ]9 d }
5 I9 T; G. F* X& j$ x* w, E" w- ~ % a" ~) S, V w7 u
}9 t* A( |8 \6 |# z8 x$ m
this.getobjstyle=function(node,prop)
. Y& F# j7 }$ R, a5 r {! m% g1 }# Q8 a/ m3 R' R
try( L1 x' Y/ ~$ h2 `# D$ o
{
- |$ S7 L+ S) P1 L l7 D6 E) t return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- _; b8 @/ P0 r; l+ |+ F: f
}! l3 x# g' R/ l6 `
catch(e)7 J) w! c! z- |! u5 y$ ?8 I
{
2 N0 ^# q& f; o: U8 _ if(debug)$ |; X! Z, N1 p0 Y8 M. c
{
! i) ^% z1 y; D( u8 t alert(e.message);% [( M( Y) {$ p h( |7 E
}
5 A: t* e$ ?1 N 4 N2 @( |8 G: s# [3 U# d; e4 {
return "200";
O( {6 w5 u- G8 l- j }
) Z a0 ?* m& \ }+ p5 x p- M4 G# D, ]
3 d9 _" M! M- j3 b* k
this.RemoveHide=function(page,objname)
; k( l d8 S( x" w/ F' m7 E {, W. t R2 V4 e5 G4 \
try' m! Z. f7 Q: c* i$ K
{
6 I8 |1 D0 l4 l5 ^- q3 p% ^ var minValue=15;
. a5 e6 H' ^, |/ p; Z var objs=page.getElementsByTagName(objname);
+ r1 A& M5 Z( T2 V% l; z2 w
2 Q6 |1 S+ O o: O, b. ?/ x* @# y if(objs.length == 0)
: Z) W' U6 M+ K+ d7 n. F+ W3 p! J {
k) H" p* Y. @ if(debug)
6 D4 _9 ? R+ {: d {
& V% U: O4 e! a8 j alert("no object found!:"+objname);
! A* O: f' y4 y6 V5 ]; F, L }
2 D) |; [8 _) ^1 M: L# D _% C }# Q L$ W& {- ~, ~
else/ E! x4 m/ e' [/ B. _
{
7 ?6 g" b1 `. K; x" o
, I* X4 O+ a! q, `6 D9 @0 {9 }9 B+ c L for(var i=objs.length-1;i>=0;i--) - z" f9 D i% L2 n$ C' T
{. s$ e" O0 }0 u3 X2 h
var node=objs.item(i);
z9 V6 z; R$ X. C- T0 S5 x : o) ^% [, b! W' W/ z, D) h& }: |
( m' L$ |( W5 ?/ z$ V if(this.getobjstyle(node,"display") == "none" ||
- t' o6 a) E9 Z# R. e9 h this.getobjstyle(node,"visibility") =="hidden" ||% L _+ G5 o' Q) U) S2 }- {
parseInt(this.getobjstyle(node,"font-size")) == 0) ' x, \& c. I1 t/ \8 [4 K! ~6 y
{6 U% }) k* B" r7 u2 v$ C
if(debug)1 b" L" J' {) s7 ?0 i3 g1 |2 ?. L
{
: ]- I U8 B# c% k+ a alert("remove invisiable!");& w& G% q) U+ c/ N7 e9 o+ r
}' D% b( b: v$ s# C3 Y
node.parentNode.removeChild(node);% P, G" |4 p3 \) S3 C
! ~# X9 g2 }4 v, c7 A3 D' I+ a
}
0 r/ x- r4 ^$ [6 B T9 U. C0 Z& | else
2 K& O6 s( s6 `7 k {
8 A" H. @. u& U& x2 e* D- @ if(node.parentNode)
9 t, o& p! k/ Y7 b1 R {. m9 A* Z- t/ B. u6 q4 U- ?
var orgNode=node;, d) g; w* F8 Z: G; O' d
var orgColor=this.getobjstyle(orgNode,"color")2 _" _2 M! B" W+ E1 w) u
var orgRGB=getRGB(orgColor);
( u% |2 S5 K! @: A' P% W & F5 f Z9 N: w' Q2 b, O
var parentNode=node.parentNode5 c+ R! N' B1 p D" Z/ V" K; w
var parentBgColor=this.getobjstyle(parentNode,"background-color");
. a2 R! r( Q0 X6 T ! I9 J" f% |+ N7 u V" M; C
var isLast=false;
/ `. G* {# d6 v/ A " N# _6 t# w; M9 `) y9 }
while(parentBgColor == "transparent")
% ]; p: A. p p E0 `9 X9 C {1 x( }1 E/ R, x2 p; e
# a ~; ^8 w; F0 x% K% o6 `
( ]: k; j+ T, [9 W \5 N* U
if(parentNode.parentNode == null)% ^0 ^% Q3 R( Z/ y! ^
{
( h9 X5 x5 i: b9 Q' c isLast=true;
0 a+ b% z! _: q3 v1 k6 p/ L: c' I break;$ y8 M/ D' ]. U2 k, i+ b/ ]
}
" G2 P [: B' G6 n0 D parentNode=parentNode.parentNode;
5 F; t5 D) @5 r: Z' B5 O6 Z; e parentBgColor=this.getobjstyle(parentNode,"background-color");6 e3 O$ h. t$ c
) |* G9 W: }7 ^
if(parentBgColor != "transparent") ( y: M. P7 n& |. C, L5 F2 ?# A, Q* i
{5 T6 } ~3 L# c5 x) L: \( A
break;- T$ m0 B }4 `- @
}$ Z Z2 ^( d i
}% S! y- O) Y1 u; g5 v, Y
if(isLast) , d$ ]- M) \5 D0 b4 M
{* b' ?1 y$ C8 R* ^
if(debug)
/ f( l' n- p1 c% ?. D; A$ [ {& f/ L6 `# h7 Q& {- R
alert("last!!");& j. I; S; k7 z+ L/ J' L2 b" F. z5 C
}1 H. f) d) J( H- n Y/ |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 J; v3 u' b* o) b9 C- k {& o4 g7 p; s& G7 o- t0 P% C
orgNode.parentNode.removeChild(orgNode);
4 P8 Q" Z) i2 L: |" |8 v8 a. ` }( n3 o) U; Y% b0 y
}
! Q9 a1 n1 j: X! M- H7 F& O: \ else; N" {% ? o# ~
{5 n0 E- l0 Z8 b+ [7 I& Y/ `
if(debug), I; M2 P) g* h. F& Z
{
; {# H6 S) b5 b- J0 J8 L n alert("compare color and parent bgcolor!");
- R3 i& n( ]- V9 b7 S/ Z }
( j8 \3 {, g+ z8 ^8 t' p parentBgRGB=getRGB(parentBgColor);$ E9 a# m+ X9 X9 O( _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% ?9 M1 |! l! W% _5 x
{1 @; W! w1 m, _$ b. g6 e+ o
orgNode.parentNode.removeChild(orgNode); 2 k- J6 q( a% O* \, @
}: N1 b0 e, H* J% w" [; s8 N
}2 o% D8 [8 D) G' M' L6 s" T
}4 q' W4 V3 l' T& |7 b! F/ L
}7 ?5 x$ f4 f4 S& a, w
}
( |2 O6 Y1 n5 Y# l }( l' x; ^" A7 D( D
; D3 r3 \2 \+ {% L
0 A1 }% u; Y; q0 u' J+ C var itemFrames = page.getElementsByTagName("frame");
7 E6 x4 w7 |( j1 ?1 Q4 b6 k var itemiFrames = page.getElementsByTagName("iframe");" k! }# w a4 ]& v8 T7 C) _* o
! _9 Q% N6 _7 V
var frame, iframe;( l' }, f' f& N! o
if (itemFrames.length > 0)8 F( V7 j5 S2 M3 D4 [# t
{
9 b; s. X4 v" n* S! ]( X for (var i = 0 ; i< itemFrames.length ; i++)
( U, j- Q# Y- C% n3 { {+ t5 {. g3 f2 j) l/ m
frame = itemFrames.contentDocument;
, N6 a$ t9 t5 I9 n" I this.RemoveHide(frame,objname);
3 y; ?& Y5 ~6 w7 q! ] }
& H8 c2 |: p, f6 @7 M, ^. r1 x }
1 b$ X- q& g6 E if (itemiFrames.length > 0)
9 s& }+ B4 A2 R' _: m7 w {
5 c* U/ o& Q: c- f" G$ } for (var i = 0 ; i < itemiFrames.length ; i++) 4 e, R) a9 V, |2 c1 b2 |+ ~3 [
{
$ o. {, E8 x4 l$ n" H iframe = itemiFrames.contentDocument;
* l3 [4 G/ s* O9 P this.RemoveHide(iframe,objname); ! u2 M- {+ A5 U) b; W7 Z: B
}
8 i! G. W" ]! D" [4 j7 _; r }. A# H/ @1 m; ]; R, Y7 `5 G
}
% M+ d+ b' c; b3 U catch(e)' \/ v. r' O- f- A
{9 G- l5 n8 ` h
if(debug)7 V- ~2 T$ O; c) W
{# ^! t; [# k9 C& h* Y
alert(e.message);- U6 k6 S; m( J1 ~4 _) E; Z
}
0 d& _; a" ^- \( Z4 ^2 u( @; v }
5 J% U" q7 ?. ]$ ]4 U }
/ t7 g: h. l H
* M/ }: Q# e. o/ C9 V; t; g}
) q. U; f4 p9 D0 p! l; O* Q
9 w( _6 ]* m7 @2 L _; y( bfunction getRGB(colorString)/ G2 d$ E# ^8 d3 I* l
{
8 L8 H3 C% ]9 @0 G* W' T4 u var RGB = new Array;
) K9 P$ j2 c0 B6 M0 j# t var tempSting=colorString.substring(4,colorString.length-1);* P3 D4 a s4 }& L/ r
var tempArray=tempSting.split(",");
& J/ b# }7 z( r; Q& q$ H8 P9 Z9 w3 Z8 |# r/ K/ E" f
RGB[0]=parseInt(tempArray[0]);
4 _7 s0 ^% h* y* L RGB[1]=parseInt(tempArray[1]);
% X% k; p c6 ?7 m1 h* ^ RGB[2]=parseInt(tempArray[2]);
/ _/ }9 Z9 K: ]* C$ ~/ P( H+ `( p
, U6 w, w! j& F) J% p return RGB;
" R' S/ x n( ~9 f) A7 L- ^2 O1 R}
3 V8 j/ D0 q9 a- Wfunction keys(evt)
# T' g; \8 J; `$ s% k/ ]' m3 z {
! r# d" I: o' ~0 l8 w- f if(evt.ctrlKey && evt.keyCode=="81") 6 d }* `' \! f( M3 \. U
{ 7 L: G: H7 G8 D/ U m4 E
CleanHideObj.on(0,1);
& u4 k8 X7 s& `5 S alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- w1 C+ [1 K; s x 1 h- T9 w1 |- Y" G
}
" G, ^4 ?& S+ s5 B }
# ?0 C. z0 z* v% ]: kdocument.addEventListener('keydown', keys, false); ; A& ^ Y1 Y9 H2 W- M
GM_registerMenuCommand ('Clean Hide',9 q9 ^9 Z- `' V+ _( D
function(e){
& {# `% _8 D b1 S9 F1 ]* tCleanHideObj.on(0,1)
% \0 X& l4 m9 ~ {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 ~+ t$ V+ v0 }' @5 h. f* ~
});
8 T" M) W( j4 G+ _& B |
评分
-
查看全部评分
|